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 |
|
| DLL |
|