Лучший отвечающий
DNS Scavenging

Вопрос
-
Есть задачка провести scavenging DNS, но не всей зоны, а лишь отдельной подсети.
Встроенный в DNS scavenging не годится т.к. обрабатывает всю зону, а не подсеть.
Думаю над тем, как можно это автоматизировать скриптом на PS
Где-то должs храниться данные в записи DNS, когда последний раз к ней обращение было.
За идеи и направления движения буду благодарен.
Жаль сразу такой возможности не предусмотрели :(
MCSE, MCSA:Messaging (2000/2003) MCTS: Exchange 200730 ноября 2009 г. 12:32
Ответы
-
Можно использовать WMI. Пример тут: http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!1018.entry
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Предложено в качестве ответа Vasily GusevModerator 1 декабря 2009 г. 7:41
- Помечено в качестве ответа Sergey Babkov 1 декабря 2009 г. 12:08
30 ноября 2009 г. 15:49Модератор
Все ответы
-
а в dnscmd /? ничего полезного нет?30 ноября 2009 г. 12:48
-
Можно использовать WMI. Пример тут: http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!1018.entry
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/- Предложено в качестве ответа Vasily GusevModerator 1 декабря 2009 г. 7:41
- Помечено в качестве ответа Sergey Babkov 1 декабря 2009 г. 12:08
30 ноября 2009 г. 15:49Модератор -
Можно использовать WMI. Пример тут: http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!1018.entry
Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
Вот это можно попробовать.
Самое забавное в том, что вчера вечером открыл эту-же ссылку, но не прочитав потопал домой :)
MCSE, MCSA:Messaging (2000/2003) MCTS: Exchange 20071 декабря 2009 г. 4:25 -
Итак доделал:
Задача состоит из 2х подзадач:
1.Нужно найти все неактивные ПК в нашем ОП, скажем дней 30.
Сделал это ч/з dsquery и параметр inactive т.к. другие варианты слишком сложны, муторно конечно, но работает :)
2.Все "старые и не активные" записи типа А в зоне mydomain.local подсети 192.168.1.0/24 удалить.
Исходные данные:
Все ПК домена живут тут: mydomain.local/Computers
Все неактивные ПК домена живут тут: mydomain.local/disabled (cм. п.1)
Принцип простой:если объекта ПК записи DNS типа А нет в ОП mydomain.local/Computers, то он либо не существует, либо нахоится в mydomain.local/disabled, следовательно эту запись можно удалить.
Код:
Function FindStaleRecords{
param($TargetLan)foreach ($Pc in $TargetLan)
{
#используется модуль quest software
$ObjPC = Get-QADComputer -SearchRoot 'mydomain.local/Computers' -Identity $Pc.OwnerName#Если нигде такого объекта нет, то запись просто удаляем
if (!$ObjPC)
{
"Kill :)"
}
}
}#делаем выборку из DNS
$Lan_1921681 = Get-WmiObject -ComputerName DC1.icb.local -Namespace 'root\MicrosoftDNS' -Class MicrosoftDNS_AType | where {$_.ContainerName -eq "mydomain.local" -and $_.Ipaddress.contains("192.168.1")} | sort OwnerName
FindStaleRecords($Lan_1921681)
MCSE, MCSA:Messaging (2000/2003) MCTS: Exchange 20071 декабря 2009 г. 12:04