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