2017-08-15 5 views
1

J'essaie d'installer certaines mises à jour de Windows via PowerShell en raison de la quantité d'ordinateurs que j'ai besoin de patcher.Pousser les mises à jour Windows via Powershell

J'utilise la syntaxe suivante;

enter-pssession PCname-PC 

Une fois la session connectée, j'utilise ce qui suit; Le problème, c'est que rien ne se passe et que je reçois toujours l'accès refusé à chaque fois. Powershell est exécuté en tant qu'administrateur, l'utilisateur local de l'ordinateur est un administrateur. J'ai essayé d'exécuter un script qui permettait à la session de se connecter en tant qu'administrateur de domaine, avec les mêmes résultats.

Toute aide à ce sujet serait grandement appréciée. Merci

+0

Ou vous pouvez essayer ceci: pc $ = "PC " ' $ comm = "cmd/c wusa.exe c: \ temp \ update.msu/calme/norestart /log:C:\wusa.log" ([wmiclass] "\\ $ pc \ root \ cimv2 : Win32_Process "). Create ($ comm)' – Vitaly

+0

Ou vous pouvez essayer d'utiliser le paramètre credentional: 'Enter-PSSession -Nom d'ordinateur PC1 -Credential contoso \ administrator' – Vitaly

+0

S Certaines versions de Windows vous empêchent d'écrire à la racine du lecteur C: \. Essayez de changer/connecter à un autre répertoire. –

Répondre

0

Cette solution va finir par copier la mise à jour à chaque PC:

$PCs = @() 
$Cred = Get-Credential 

ForEach ($PC in $PCs) 
{ 
    $Session = New-PSSession -ComputerName $PC -Credential $Cred 
    Copy-Item -Path 'C:\Temp\Update.msu' -Destination 'C:\Temp\Update.msu' -ToSession $Session -Force 
    Enter-PSSession $Session 
    & wusa C:\Temp\Update.msu /quiet /norestart /log:C:\Temp\wusa.evtx 
    Exit-PSSession 
    Remove-PSSession $Session 
} 

Une dernière note: journaux WUSA au format Observateur d'événements (.evtx)

+0

Le problème est que wusa.exe ne peut pas être exécuté dans une session à distance. L'accès refusé ne concerne pas le fichier mais l'API Windows Update .... – BenH