Come avviare Windows Update sul core del server da una sessione remota PS?


8

Quando eseguo l'accesso tramite desktop remoto su un computer Windows Server 2012 R2 Core, posso attivare l'aggiornamento di Windows eseguendo sconfig.cmd. Questo tuttavia non riesce quando viene chiamato all'interno di una sessione remota PS:

Enter-PSSession -ComputerName server2

Questo è ciò di cui si lamenta la sconfig. In pratica dice che non riesce a trovare un valore di registro specifico. Una cosa divertente da notare è che Microsoft ha scelto VBScript su PowerShell per programmare questa interfaccia della CLI ...

[server2]: PS C:\> sconfig

C:\>echo off
sconfig : FEHLER: Der angegebene Registrierungsschl?ssel bzw. Wert wurde nicht gefunden.
    + CategoryInfo          : NotSpecified: (FEHLER: Der ang...nicht gefunden.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Microsoft (R) Windows Script Host, Version 5.8
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

System wird ?berpr?ft...

[...]

14) Server herunterfahren
15) Zur Befehlszeile wechseln

C:\Windows\System32\de-DE\sconfig.vbs(326, 1) Laufzeitfehler in Microsoft VBScript: Eingabe hinter Dateiende.

Come devo / posso avviare un aggiornamento di Windows quando eseguo l'accesso tramite la sessione remota PS?


2
Non leggo il tedesco, ma è un messaggio Autorizzazioni / accesso negato? Il fatto è che l'installazione di Aggiornamenti di Windows in remoto non è semplice, come SCCM o WSUS. Ogni metodo che ho visto, che funziona davvero, si basa su PSexec (o simile) per eseguire il comando localmente, ma da un computer remoto. Penso di finire con WuInstall o BatchPatch quando devo fare questo genere di cose, senza SCCM. Ci sono anche alcuni moduli PowerShell su Technet per questo tipo di cose che potrebbero essere utili, dalla mia esperienza con loro è stata molto incostante. Per lo più perdere.
HopelessN00b

3
Oh, quasi dimenticato. La migliore app gratuita, non di prova / freemium che ho visto per l'installazione remota di Windows Update senza SCCM / WSUS / ecc. è PoshPAIG , e The Scripting Guy ha un articolo sul blog che potresti voler controllare . Non è esattamente quello che stai cercando, ma è il più vicino possibile senza ottenere il tuo.
HopelessN00b,

Fondamentalmente un dup di serverfault.com/questions/336705/…
Zoredache,

@Zoredache Ma le risposte lì fanno schifo. Il tuo è molto meglio, e non voterei per chiudere solo su quella base.
HopelessN00b,

Risposte:


7

In realtà non puoi attivarlo direttamente su winrm / winrs.

Esiste un modulo PowerShell piuttosto popolare per l'esecuzione di aggiornamenti di Windows da Powershell e per eseguire aggiornamenti su un sistema remoto, in realtà copia il modulo sul sistema remoto e pianifica una nuova attività singola sul sistema remoto.

Nel file invoke-WUInstall.ps1 contiene questo commento sull'attivazione remota di un aggiornamento.

Utilizzare Invoke-WUInstall per richiamare l'installazione di Windows Update in remoto. Basato su TaskScheduler perché i metodi CreateUpdateDownloader () e CreateUpdateInstaller () non possono essere chiamati da un computer remoto - E_ACCESSDENIED.


1

Tutti salutano il poster dell'ultimo commento. Funziona.

Ottieni i pswidowsupdatefile dal Web e decomprimili. Quindi importare il modulo ed eseguire questo codice (il invoke-wsuinstall.ps1file ha il codice di esempio ma ho rimosso un po 'da esso e funziona ancora):

$Script = {Get-WUInstall -AcceptAll -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUInstall -ComputerName computername -Script $Script
Get-Content \ \ computername\c$\PSWindowsUpdate.log
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.