Я смотрю на создание сценария, который очищает дубликаты аренды DHCP от нашего сервера DHCP на базе Windows Server 2008 R2. Я обнаружил, что вы не можете сделать это изначально в PowerShell, но вы можете использовать PowerShell для вызова команды netsh.exe, а затем манипулировать данными.
Команда для перечисления всех аренды DHCP:
netsh dhcp server 10.100.2.241 scope 10.100.0.0 show clients 1
Полученный результат немного беспорядок:
Changed the current scope context to 10.100.0.0 scope.
Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP
============================================================================================
IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name
============================================================================================
10.100.0.51 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 21:29:01 -D- WT008064807e32.domain.com
10.100.0.52 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 20:13:47 -D- EXT1054.domain.com
10.100.0.53 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 22:54:14 -D- EXT1018.domain.com
10.100.0.54 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 11:01:57 -D- V2040.domain.com
10.100.0.55 - 255.255.248.0 - 00-11-22-33-44-55 -24/05/2016 19:50:19 -D- V1041.domain.com
----SNIP----
Например, хост V2119 указан дважды в выходных данных с разными IP-адресами и временем истечения срока аренды:
V2119 - 10.100.6.45 - 24/05/2016 23:24:43
V2119 - 10.100.5.167 - 24/05/2016 23:06:21
В этом примере я бы удалил 10.100.5.167, так как срок его действия истекает раньше, и поэтому он является более старым и избыточным.
Команда для удаления определенной аренды по IP:
netsh dhcp server 10.100.2.241 scope 10.100.0.0 delete lease 10.100.5.167
Я нашел эту статью, в которой OP использует выходные данные команды netsh в PowerShell, а затем обрезает различные биты, чтобы вернуть только список имен хостов и IP-адресов. Хотя результат не тот, который я получаю, обрезка может пригодиться. - https://theadminguy.com/2009/10/14/export-dhcp-leases-to-html-using-powershell/
По сути, мне нужен сценарий для вывода всех арендованных адресов в DHCP, определения, какие имена хостов дублируются, затем тех, которые дублируются, вырабатывают, срок действия которых истекает раньше, и возвращают IP-адрес, а затем передают их в команду netsh delete lease выше. ,
Любая помощь, которую вы можете оказать мне в этом, была бы удивительной и очень ценилась.
Дайте мне крик, если вам нужно что-то прояснить.