Aprovar atualizações do WSUS em réplicas do WSUS usando o Powershell

2

temos 3 Servidores de Réplica do WSUS e um servidor central ao qual as réplicas estão conectadas. Do servidor central, estamos gerenciando as 3 réplicas. Todos os clientes estão conectados apenas às réplicas.

Eu estou tentando criar um script do PowerShell, que deve aprovar somente as atualizações exigidas por qualquer servidor.

Meu problema é: se estou consultando as informações sobre a contagem "necessária" no servidor central, sempre obtenho zero patches. Isso ocorre porque nenhum cliente está conectado ao servidor central. Como obtenho esta informação para a soma de todos os quatro (ou na prática três) servidores?

O que eu tenho atualmente é:

# Get WSUS Server
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null 
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();  

$updateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope; 
$computerScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope;

#Get all available Updates
$wsusupdates = $wsus.GetUpdates($updateScope)

$updateTotalCount = $wsus.GetUpdateCount($updateScope)
foreach($update in $wsusupdates)
{
    # Get the summary
    $summary = $update.GetSummary($computerscope); 
    $neededCount = ($summary.InstalledPendingRebootCount + $summary.NotInstalledCount)

    # Only install, if any server needs the update
    if ($neededCount -gt 0)
    {
        $update.Approve("Install", ($wsus.GetComputerTargetGroups() | Where-Object{$_.Name -eq $aSelectedWsusGroup}))
    }
}

A parte principal é a linha

$summary = $update.GetSummary($computerscope); 

onde recebo as informações das atualizações - incl. as contagens que preciso para o cálculo "é necessário" na linha seguinte.

Finalmente, a questão é: Como incluir os dados do servidor de réplica no resumo de atualização para descobrir se uma atualização é necessária?

BTW: Tentei executar o script remotamente nas réplicas do servidor central do WSUS, mas o comando approve não é permitido em servidores de réplica.

    
por Hunv 20.12.2016 / 13:55

1 resposta

0

Adicione o $ computerScope . IncludeDownstreamComputerTargets = $ true

$computerScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope;
$computerScope.IncludeDownstreamComputerTargets = $true 

Assumindo:

  • o servidor de réplica ativou o roll-up ,
  • passou-se tempo suficiente para os dois clientes se reportarem ao servidor, e o roll-up do servidor downstream (DSS) para o servidor upstream (USS). A essa altura, você deve ver as atualizações conforme necessário na interface do usuário.
por 24.12.2016 / 22:09