Metodo Reboot della classe Win32_OperatingSystem

Il metodo della classe REBOOTWMI arresta il sistema computer, quindi lo riavvia.

Questo argomento usa la sintassi MOF (Managed Object Format). Per altre informazioni sull'uso di questo metodo, vedere Chiamata di un metodo.

Sintassi

uint32 Reboot();

Parametri

Questo metodo non presenta parametri.

Valore restituito

Restituisce zero (0) per indicare l'esito positivo. Qualsiasi altro numero indica un errore. Per i codici di errore, vedere Costanti di errore WMI o WbemErrorEnum. Per i valori HRESULT generali, vedere Codici di errore di sistema.

Successo (0)

Altro (1 4294967295)

Commenti

La possibilità di riavviare a livello di codice un computer consente agli amministratori di eseguire molte attività di gestione computer in remoto.

Ad esempio, se si crea uno script per installare software o apportare una modifica di configurazione che richiede il riavvio di un computer, è possibile includere il comando di riavvio nello script ed eseguire l'intera operazione in remoto. Il metodo Reboot può essere usato per riavviare un computer. Come il metodo Win32Shutdown , il metodo Reboot richiede all'utente le cui credenziali di sicurezza vengono usate dallo script per avere il privilegio Shutdown.

Esempio

L'esempio di codice VBScript seguente richiama il metodo Reboot della classe Win32_OperatingSystem .

Nota

È necessario disporre del privilegio Shutdown per richiamare correttamente il metodo Shutdown.

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

for each OpSys in OpSysSet
 OpSys.Reboot()
next

Il codice Perl seguente richiama il metodo Reboot della classe Win32_OperatingSystem .

Nota

È necessario disporre del privilegio Shutdown per richiamare correttamente il metodo Shutdown.

use Win32::OLE;
use strict;
my $OpSysSet;
eval { $OpSysSet = Win32::OLE->GetObject("winmgmts:{(Shutdown)}//./root/cimv2")->
 ExecQuery("SELECT * FROM Win32_OperatingSystem WHERE Primary=true"); };

if (!$@ && defined $OpSysSet)
{
 close(STDERR);
 foreach my $OpSys (in $OpSysSet)
 {
  my $RetVal = $OpSys->Reboot(); 
  if (!defined $RetVal || $RetVal != 0)
  {
   print Win32::OLE->LastError, "\n"; 
  }
 }
}
else
{
 print STDERR Win32::OLE->LastError, "\n";
}

Il codice VBScript seguente richiama il metodo Reboot della classe Win32_OperatingSystem in un sistema remoto. Compilare REMOTE_SYSTEM_NAME con il nome del sistema remoto da riavviare.

Nota

È necessario disporre del privilegio RemoteShutdown per richiamare correttamente il metodo Reboot

Set OpSysSet = GetObject("winmgmts:{(RemoteShutdown)}//REMOTE_SYSTEM_NAME/root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

for each OpSys in OpSysSet
 OpSys.Reboot()
next

dopo Perl richiama il metodo Reboot della classe Win32_OperatingSystem in un sistema remoto. Compilare REMOTE_SYSTEM_NAME con il nome del sistema remoto da riavviare.

Nota

È necessario disporre del privilegio RemoteShutdown per richiamare correttamente il metodo Reboot.

use strict;
use Win32::OLE;

use constant REMOTE_SYSTEM_NAME => "MACHINENAME";
use constant USERNAME => "USER";
use constant PASSWORD => "PASSWORD";
use constant NAMESPACE => "root\\cimv2";
use constant wbemPrivilegeRemoteShutdown => 23;
use constant wbemImpersonationLevelImpersonate => 3;
close(STDERR);
my ($locator, $services, $OpSysSet);
eval {
  $locator = Win32::OLE->new('WbemScripting.SWbemLocator');
  $locator->{Security_}->{impersonationlevel} = wbemImpersonationLevelImpersonate;
  $services = $locator->ConnectServer(REMOTE_SYSTEM_NAME, NAMESPACE, USERNAME, PASSWORD);
  $services->{Security_}->{Privileges}->Add(wbemPrivilegeRemoteShutdown);
  $OpSysSet = $services->ExecQuery("SELECT * FROM Win32_OperatingSystem WHERE Primary=true");
 };

if (!$@ && defined $OpSysSet)
{
 foreach my $OpSys (in $OpSysSet)
 {
  $OpSys->Reboot();
 }
}
else
{
 print Win32::OLE->LastError, "\n";
 exit(1);
}

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Spazio dei nomi
Radice\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Vedi anche

Classi del sistema operativo

Win32_OperatingSystem

metodo CIM_OperatingSystem.Shutdown

Attività WMI: Gestione desktop