Лучший отвечающий
Работа с dhcp сервером

Вопрос
-
Добрый день!
Необходим скрипт который бы удалял выданые адреса в оприделённой области на dhcp-сервере которые в данный момент недоступны по сети но при этом не удалял зарезервированые.
Заранее спасибо.
27 августа 2014 г. 8:39
Ответы
-
Таких классов для DHCP - нет. Есть netsh.
$server = "server" $scope = "10.10.10.0" (netsh dhcp server \\$server scope $scope show clients) -match "-D$" | Foreach { $ip = $_.split(" ")[0] if( -not (Test-Connection $ip -Quiet -Count 2)) { netsh dhcp server \\$server scope $scope delete lease $ip } }
PS. Научитесь указывать: версию PowerShell,версию ОС.
- Изменено KazunEditor 28 августа 2014 г. 6:45
- Предложено в качестве ответа Vector BCOModerator 28 августа 2014 г. 7:04
- Помечено в качестве ответа Igor3000 29 августа 2014 г. 5:00
28 августа 2014 г. 6:45Отвечающий
Все ответы
-
Не понятно что вы подразумеваете под тем что написали
Если у вас есть DHCP то он сам адреса и выдает и удаляет
вы можете поставить срок выдачи адреса в один день и адреса будут +- актуальны
27 августа 2014 г. 8:52Модератор -
Это я знаю.
В рамках решения более общей задачи мне необходимо то что я написал
27 августа 2014 г. 9:00 -
$server = "dhcpserver.contoso.com" Get-DhcpServerv4Lease -ScopeId 10.10.30.0 -ComputerName $server | Where AddressState -notmatch Reservation | Foreach { if( -not (Test-Connection $_.IPAddress -Quiet -Count 2)) { $_ | Remove-DhcpServerv4Lease -ComputerName $server } }
- Предложено в качестве ответа Vector BCOModerator 27 августа 2014 г. 13:38
- Помечено в качестве ответа Igor3000 28 августа 2014 г. 5:16
- Снята пометка об ответе Igor3000 28 августа 2014 г. 6:20
27 августа 2014 г. 12:28Отвечающий -
if (-not (test-connection $ip)){Remove-DhcpServerv4Lease -IPAddress $IP}
Как то так
Детальнее можно почитать http://technet.microsoft.com/en-us/library/jj590711.aspx
Так же множество командлетов есть тут http://technet.microsoft.com/en-us/library/jj590751.aspx
27 августа 2014 г. 12:31Модератор -
Большое спасибо!28 августа 2014 г. 5:17
-
А Вы не скажете можно ли реализовать это через wmi?28 августа 2014 г. 6:20
-
Наверняка можно но вот зачем wmi чаще тупит и збоит, так что если есть возможность wmi не использовать, его лучще не использовать28 августа 2014 г. 6:32Модератор
-
Таких классов для DHCP - нет. Есть netsh.
$server = "server" $scope = "10.10.10.0" (netsh dhcp server \\$server scope $scope show clients) -match "-D$" | Foreach { $ip = $_.split(" ")[0] if( -not (Test-Connection $ip -Quiet -Count 2)) { netsh dhcp server \\$server scope $scope delete lease $ip } }
PS. Научитесь указывать: версию PowerShell,версию ОС.
- Изменено KazunEditor 28 августа 2014 г. 6:45
- Предложено в качестве ответа Vector BCOModerator 28 августа 2014 г. 7:04
- Помечено в качестве ответа Igor3000 29 августа 2014 г. 5:00
28 августа 2014 г. 6:45Отвечающий -
Большое спасибо!
Извините если что не так
29 августа 2014 г. 5:00