none
Отчет о ПК на WSUS-сервер Powershell

    Вопрос

  • Добрый День!
    Существует иерархия серверов WSUS, необходимо выгрузить данные с WSUS сервера и сравнить с AD. 
    Скрипт написали, все сравнивает хорошо. Но возникла необходимость увидеть какому серверу принадлежит клиент 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 и выгружаем туда полученные данные ..

    10 июля 2018 г. 11:29