Freigeben über


Neustartmethode der Win32_OperatingSystem-Klasse

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

In diesem Thema wird MOF-Syntax (Managed Object Format) 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-Fehlerkonstanten oder WbemErrorEnum. Allgemeine HRESULT-Werte finden Sie unter Systemfehlercodes.

Erfolg (0)

Sonstige (1 4294967295)

Bemerkungen

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

Wenn Sie beispielsweise ein Skript erstellen, um Software zu installieren oder eine Konfigurationsänderung vorzunehmen, die einen Neustart eines Computers erfordert, können Sie den Neustartbefehl in das Skript einschließen 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 das Shutdown-Recht verfügt.

Beispiele

Im folgenden VBScript-Codebeispiel wird die Reboot-Methode der Win32_OperatingSystem-Klasse aufgerufen.

Hinweis

Sie müssen über die Shutdown-Berechtigung verfügen, um die Shutdown-Methode erfolgreich aufzurufen.

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 Shutdown-Berechtigung verfügen, um die Shutdown-Methode erfolgreich aufzurufen.

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 REMOTE_SYSTEM_NAME mit dem Namen des Remotesystems ein, das neu gestartet werden soll.

Hinweis

Sie benötigen die RemoteShutdown-Berechtigung, 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

ruft nach Perl die Reboot-Methode der Win32_OperatingSystem-Klasse auf einem Remotesystem auf. Geben Sie REMOTE_SYSTEM_NAME mit dem Namen des Remotesystems ein, das neu gestartet werden soll.

Hinweis

Sie müssen über das RemoteShutdown-Recht 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)
WindowsServer 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Betriebssystemklassen

Win32_operatingsystem

CIM_OperatingSystem.Shutdown-Methode

WMI-Aufgaben: Desktopverwaltung