Сверяем компьютеры в домене Active Directory и в консоли WSUS

 

Сверяем компьютеры в домене Active Directory и в консоли WSUS

Практически во всех корпоративных сетях, в которых внедрена система обновлений WSUS, клиенты настраиваются через групповые политики Active Directory. Система групповых политик довольно надежная, но все же нуждается в периодическом контроле.

Одна из основных проблем, с которой сталкиваются системные администраторы, работая с WSUS, - отсутствие некоторых объектов компьютеров в консоли WSUS. Это может быть вызвано различными факторами: не применилась групповая политика, нет связи с сервером обновлений или другое.

Сегодня предлагаем Вашему вниманию способ провести аудит Вашего сервера WSUS, и сверить ПК в домене Active Directory и в консоли управления сервером WSUS. Предлагаемый скрипт работает на Powershell 2.0 (в нем встроен API работы с WSUS).

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer("<DNS-имя домена AD>", $false)
$WSUScomps = $wsus.GetComputerTargets()
$WSUSCompNames = $WSUScomps | ForEach { $_.FullDomainName.ToUpper() }
$ADcomps = (new-object System.DirectoryServices.DirectorySearcher([ADSI]"LDAP://<LDAP-имя домена AD>","(&(objectCategory=computer)(!userAccountControl:1.2.840.113556.1.4.803:=2))")).findAll()
$ADCompNames = $ADcomps | ForEach {$_.GetDirectoryEntry().dNSHostName.ToString().ToUpper()}
$NoWSUSCompNames = $ADCompNames | Where { $WSUSCompNames -notcontains $_ } | Sort-Object $NoWSUSCompNames | echo > c:\WSUS.txt

 

Результатом работы скрипта будет файл C:wsus.txt, в котором будут перечислены объекты ПК, которые присутствуют в AD, но не зарегистированы на сервере WSUS.

Далее необходимо разбираться, почему именно не этих ПК нет на сервере обновлений. В этом Вам может помочь статья Проблемы функционирования системы управления обновлениями WSUS.

Tags: microsoft | powershell | windows | wsus | обновления

Комментарии: