Reboot-Methode der Win32 _ OperatingSystem-Klasse

Die WMI-Klassenmethode Reboot fährt das Computersystem herunter und startet es dann neu.

In diesem Thema wird Managed Object Format (MOF)-Syntax verwendet. Weitere Informationen zur Verwendung dieser Methode finden Sie unter Aufrufen einer Methode.

Syntax

uint32 Reboot();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt null (0) zurück, um den Erfolg anzugeben. Jede andere Zahl gibt einen Fehler an. Fehlercodes finden Sie unter WMI-Fehlerkonstistenzen oder WbemErrorEnum. Allgemeine HRESULT-Werte finden Sie unter Systemfehlercodes.

Erfolg (0)

Andere (1 4294967295)

Hinweise

Durch die Möglichkeit, einen Computer programmgesteuert neu zu starten, können Administratoren viele Computerverwaltungsaufgaben remote ausführen.

Wenn Sie beispielsweise ein Skript zum Installieren von Software erstellen oder eine Konfigurationsänderung durchführen, die einen Neustart eines Computers erfordert, können Sie den Neustartbefehl in das Skript ein- und den gesamten Vorgang remote ausführen. Die Reboot-Methode kann verwendet werden, um einen Computer neu zu starten. Wie bei der Win32Shutdown-Methode erfordert die Reboot-Methode, dass der Benutzer, dessen Sicherheitsanmeldeinformationen vom Skript verwendet werden, über die Berechtigung Herunterfahren verfügt.

Beispiele

Im folgenden VBScript-Codebeispiel wird die Reboot-Methode der Win32 _ OperatingSystem-Klasse aufgerufen.

Hinweis

Sie müssen über die Berechtigung Herunterfahren verfügen, um die Shutdown-Methode erfolgreich aufrufen zu können.

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

for each OpSys in OpSysSet
 OpSys.Reboot()
next

Der folgende Perl-Code ruft die Reboot-Methode der Win32 _ OperatingSystem-Klasse auf.

Hinweis

Sie müssen über die Berechtigung Herunterfahren verfügen, um die Shutdown-Methode erfolgreich aufrufen zu können.

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";
}

Das folgende VBScript ruft die Reboot-Methode der Win32 _ OperatingSystem-Klasse auf einem Remotesystem auf. Geben Sie _ _ REMOTESYSTEMNAME mit dem Namen des Remotesystems ein, das neu gestartet werden soll.

Hinweis

Sie müssen über die RemoteShutdown-Berechtigung verfügen, um die Reboot-Methode erfolgreich aufrufen zu können.

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

Er, der Perl folgt, ruft die Reboot-Methode der Win32 _ OperatingSystem-Klasse auf einem Remotesystem auf. Geben Sie _ _ REMOTESYSTEMNAME mit dem Namen des Remotesystems ein, das neu gestartet werden soll.

Hinweis

Sie müssen über die RemoteShutdown-Berechtigung verfügen, um die Reboot-Methode erfolgreich aufrufen zu können.

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);
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Namespace
\Stamm-CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Betriebssystemklassen

_Win32-Betriebssystem

CIM _ OperatingSystem.Shutdown-Methode

WMI-Aufgaben: Desktopverwaltung