none
DNS Scavenging RRS feed

  • Вопрос

  • Есть задачка провести scavenging DNS, но не всей зоны, а лишь отдельной подсети.
    Встроенный в DNS scavenging не годится т.к. обрабатывает всю зону, а не подсеть.

    Думаю над тем, как можно это автоматизировать скриптом на PS
    Где-то должs храниться данные в записи DNS, когда последний раз к ней обращение было.

    За идеи и направления движения буду благодарен.

    Жаль сразу такой возможности не предусмотрели :(


    MCSE, MCSA:Messaging (2000/2003) MCTS: Exchange 2007
    30 ноября 2009 г. 12:32

Ответы

Все ответы

  • а в 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 2007
    1 декабря 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 2007
    1 декабря 2009 г. 12:04