Per reimpostare un computer in Windows PowerShell, utilizzare uno strumento da riga di comando standard o una classe WMI. Sebbene Windows PowerShell venga utilizzato solo per eseguire lo strumento, è utile apprendere come cambiare lo stato di alimentazione di un computer in Windows PowerShell per capire alcuni dettagli importanti relativi all'utilizzo di strumenti esterni in Windows PowerShell.

Blocco di un computer

L'unico modo per bloccare direttamente un computer con gli strumenti standard disponibili consiste nel chiamare la funzione LockWorkstation() in user32.dll:

rundll32.exe user32.dll,LockWorkStation

Questo comando blocca immediatamente la workstation. Viene utilizzato rundll32.exe, che esegue DLL di Windows (e ne salva le librerie per un utilizzo ripetuto) per eseguire user32.dll, una libreria delle funzioni di gestione Windows.

Se si blocca una workstation mentre è abilitata la funzionalità Cambio rapido utente, ad esempio in Windows XP, nel computer viene visualizzata la schermata di accesso utente anziché lo screen saver dell'utente corrente.

Per arrestare determinate sessioni in un server terminal, utilizzare lo strumento da riga di comando tsshutdn.exe.

Disconnessione della sessione corrente

È possibile utilizzare diverse tecniche per disconnettere una sessione nel sistema locale. Il modo più semplice consiste nell'utilizzare lo strumento da riga di comando di Desktop remoto/Servizi terminal, logoff.exe (per informazioni dettagliate, digitare logoff /? al prompt di Windows PowerShell). Per disconnettere la sessione attiva corrente, digitare logoff senza argomenti.

È inoltre possibile utilizzare lo strumento shutdown.exe con l'opzione di disconnessione:

shutdown.exe -l

È infine possibile utilizzare WMI. La classe Win32_OperatingSystem include un metodo Win32Shutdown. È sufficiente richiamare il metodo con il flag 0 per avviare la disconnessione:

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(0)

Per ulteriori informazioni e per trovare altre funzionalità del metodo Win32Shutdown, vedere "Metodo Win32Shutdown della classe Win32_OperatingSystem" in MSDN.

Arresto o riavvio di un computer

L'arresto e il riavvio di computer sono in genere attività dello stesso tipo. Gli strumenti utilizzati per arrestare un computer consentono anche di riavviarlo e viceversa. Sono tuttavia disponibili due opzioni rapide per riavviare un computer da Windows PowerShell, ovvero utilizzare Tsshutdn.exe o Shutdown.exe con gli argomenti appropriati. È possibile ottenere informazioni dettagliate sull'utilizzo in tsshutdn.exe /? o shutdown.exe /?.

È inoltre possibile eseguire operazioni di arresto e riavvio utilizzando Win32_OperatingSystem direttamente da Windows PowerShell.

Per spegnere il computer, utilizzare il metodo Win32Shutdown con il flag 1.

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(1)

Per riavviare il sistema operativo, utilizzare il metodo Win32Shutdown con il flag 2.

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)




Argomenti della Guida