lox-ness
04-07-2018, 08:32
Добрый День!
Существует иерархия серверов WSUS, необходимо выгрузить данные с WSUS сервера и сравнить с AD.
Скрипт написали, все сравнивает хорошо, но когда получаем разницу AD и WSUS хотелось бы увидеть имя сервера на котором находиться клиент WSUS
и вот этот момент не получается прикрутить, может кто сталкивался? Часть кодаCls
$WSUSServer = Read-Host "Введите имя вышестоящего сервера WSUS"
$WSUSPort = Read-Host "Введите порт подключения к серверу"
$DC = (Get-ADDomain | Select DnsRoot).DnsRoot
$adpc = ((Get-ADComputer -Filter {(OperatingSystem -notlike "Windows* Server*") -and (Enabled -eq "True")}).DNSHostName -replace (".$dc"))
# Подключаемся к серверу WSUS
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$UseSSL = $false
$WServer = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($WSUSServer,$UseSSL,$WSUSPort)
# Создаем условие для поиска клиентов в базе данных WSUS
$WSearch = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$WSearch.IncludeDownstreamComputerTargets = $true
# Получаем список ПК без Серверных ОС
$wsuspc = (($WServer.GetComputerTargets($WSearch) | Where-Object {$_.OSDescription -notlike "Windows Server *"}).FullDomainName -replace (".$dc"))
# Сравниваем AD и Wsus
$deltaWsus = ($ADpc | Where { $WSUSpc -notcontains $_ })
# Сравниваем Wsus и AD
$NotAD = ($WsusPC | Where { $AdPC -notcontains $_ })
# Создаем книгу Excel и выгружаем туда полученные данные ..
Существует иерархия серверов WSUS, необходимо выгрузить данные с WSUS сервера и сравнить с AD.
Скрипт написали, все сравнивает хорошо, но когда получаем разницу AD и WSUS хотелось бы увидеть имя сервера на котором находиться клиент WSUS
и вот этот момент не получается прикрутить, может кто сталкивался? Часть кодаCls
$WSUSServer = Read-Host "Введите имя вышестоящего сервера WSUS"
$WSUSPort = Read-Host "Введите порт подключения к серверу"
$DC = (Get-ADDomain | Select DnsRoot).DnsRoot
$adpc = ((Get-ADComputer -Filter {(OperatingSystem -notlike "Windows* Server*") -and (Enabled -eq "True")}).DNSHostName -replace (".$dc"))
# Подключаемся к серверу WSUS
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$UseSSL = $false
$WServer = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($WSUSServer,$UseSSL,$WSUSPort)
# Создаем условие для поиска клиентов в базе данных WSUS
$WSearch = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$WSearch.IncludeDownstreamComputerTargets = $true
# Получаем список ПК без Серверных ОС
$wsuspc = (($WServer.GetComputerTargets($WSearch) | Where-Object {$_.OSDescription -notlike "Windows Server *"}).FullDomainName -replace (".$dc"))
# Сравниваем AD и Wsus
$deltaWsus = ($ADpc | Where { $WSUSpc -notcontains $_ })
# Сравниваем Wsus и AD
$NotAD = ($WsusPC | Where { $AdPC -notcontains $_ })
# Создаем книгу Excel и выгружаем туда полученные данные ..