Вы можете использовать WMI oder netsh.
WMI
Get-WmiObject -Namespace ROOT\Microsoft\Windows\DHCP -List | Where-Object Name -eq 'DhcpServerv4Lease'
К сожалению, я не могу проверить этот запрос WMI, поскольку у меня есть только DHCP-сервер Windows Server 2016и он возвращает пустой объект там.Однако класс PS_DhcpServerv4IPLease
отлично работает в 2016 году.
NETSH
Вам необходимо проанализировать выходные данные и выполнить итерации по всем областям действия
netsh dhcp server \\dhcpservername show scope
==============================================================================
Scope Address - Subnet Mask - State - Scope Name - Comment
==============================================================================
192.168.178.0 - 255.255.255.0 -Active -Default IPv4 Scope -
Total No. of Scopes = 1
Command completed successfully.
Тогда через все IP-адреса
C:\Windows\system32>netsh dhcp server \\dhcpservername scope 192.168.178.0 show clients
Changed the current scope context to 192.168.178.0 scope.
Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP
==================================================================================
IP Address - Subnet Mask - Unique ID - Lease Expires -Type
==================================================================================
192.168.178.170 - 255.255.255.0 - b0-72-bf-cb-97-a0 -25.04.2019 18:56:41 -D
192.168.178.171 - 255.255.255.0 - 00-0d-2f-d5-b1-d6 -25.04.2019 12:03:38 -D
192.168.178.172 - 255.255.255.0 - b0-4e-26-72-9b-5f -19.04.2019 23:08:19 -D
192.168.178.173 - 255.255.255.0 - 70-4f-57-11-01-03 -20.04.2019 23:00:00 -D
No of Clients(version 4): 4 in the Scope : 192.168.178.0.
Command completed successfully.