Ищем дохлых клиентов WSUS
Простой и временами полезный скрипт по поиску клиентов, которые не отчитались о своем состоянии.
Причин этому может быть масса, начиная от того что ПК банально выключен и заканчивая тем что его состояние, которое можно описать как “пристрелить что бы не мучился”, довольно плачевно…
Настойчиво рекомендую обратить внимание на компьютеры, где LastSyncResult будет Unknown или Failed, велика вероятность что именно они имеют проблемы с wu-клиентом или с BITS.
# Указываем WSUS сервер
$WSUSServer = "WSUS_SRV" # Получаем текущую дату
$Now = Get-Date
# Задаем необходимое кол-во дней
$MaxDays = "30"
$Maxdate = $Now.AddDays(-$Maxdays)
# Подключаемся к WSUS
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($WSUSServer,$False)
# Запрашиваем список клиентов которые не подключались
$wsus.GetComputersNotContactedSinceCount($Maxdate)
# Создаем и определяем параметры для целевой группы
$ComputerTargetScope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$ComputerTargetScope.IncludeDownstreamComputerTargets = $true
$ComputerTargetScope.IncludeSubGroups = $true
$ComputerTargetScope.ToLastSyncTime = $MaxDate
$ComputerTargetScope.ToLastReportedStatusTime = $MaxDate
# выводим результаты
$wsus.GetComputerTargets($ComputerTargetScope) | select FullDomainName, RequestedTargetGroupName, LastSyncTime, LastSyncResult, LastReportedStatusTime | out-gridview
Подробнее
$WSUSServer = "WSUS_SRV" # Получаем текущую дату
$Now = Get-Date
# Задаем необходимое кол-во дней
$MaxDays = "30"
$Maxdate = $Now.AddDays(-$Maxdays)
# Подключаемся к WSUS
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($WSUSServer,$False)
# Запрашиваем список клиентов которые не подключались
$wsus.GetComputersNotContactedSinceCount($Maxdate)
# Создаем и определяем параметры для целевой группы
$ComputerTargetScope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
$ComputerTargetScope.IncludeDownstreamComputerTargets = $true
$ComputerTargetScope.IncludeSubGroups = $true
$ComputerTargetScope.ToLastSyncTime = $MaxDate
$ComputerTargetScope.ToLastReportedStatusTime = $MaxDate
# выводим результаты
$wsus.GetComputerTargets($ComputerTargetScope) | select FullDomainName, RequestedTargetGroupName, LastSyncTime, LastSyncResult, LastReportedStatusTime | out-gridview
Подробнее
Комментарии
Отправить комментарий
Коммент