Shutdown-Methode der Win32_OperatingSystem-Klasse
Die WMI-Klassenmethodeherunterfahren entlädt Programme und DLLs, bis der Computer sicher ausgeschaltet werden kann.
In diesem Thema wird MOF-Syntax (Managed Object Format) verwendet. Weitere Informationen zur Verwendung dieser Methode finden Sie unter Aufrufen einer Methode.
Syntax
uint32 Shutdown();
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
Computer müssen gelegentlich aus dem Netzwerk entfernt werden, z. B. zur geplanten Wartung, weil der Computer nicht ordnungsgemäß funktioniert oder um einen Konfigurationsprozess abzuschließen. Wenn beispielsweise ein DHCP-Server fehlerhafte IP-Adressen ausgibt, sollten Sie den Computer herunterfahren, bis ein Servicetechniker zur Behebung des Problems bereitgestellt werden kann. Wenn Sie vermuten, dass eine Sicherheitsverletzung aufgetreten ist, müssen Sie möglicherweise bestimmte Server herunterfahren, um sicherzustellen, dass darauf nicht zugegriffen werden kann, bis das Sicherheitsproblem behoben wurde. Für einige Konfigurationsvorgänge (z. B. das Ändern eines Computernamens) müssen Sie den Computer neu starten, bevor die Änderung wirksam wird.
Mit dieser Methode wird der Computer nach Möglichkeit sofort heruntergefahren. Das System beendet alle ausgeführten Prozesse, leert alle Dateipuffer auf den Datenträger und schaltet dann das System aus. Der aufrufende Prozess muss über die berechtigung SE_SHUTDOWN_NAME verfügen, wie im folgenden Beispiel beschrieben.
Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
Weitere Informationen zum Festlegen einer Berechtigung finden Sie unter Ausführen von privilegierten Vorgängen und Ausführen von privilegierten Vorgängen mit VBScript. Weitere Optionen zum Herunterfahren, z. B. eine Abmeldung oder ein erzwungenes Herunterfahren, finden Sie in der Win32Shutdown-Methode .
Beispiele
Mit dem folgenden VBScript-Code wird der lokale Computer heruntergefahren.
Hinweis
Sie müssen über die Berechtigung Zum Herunterfahren 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.Shutdown()
next
Mit dem folgenden Perl-Code wird der lokale Computer heruntergefahren.
Hinweis
Sie müssen über die Berechtigung Zum Herunterfahren verfügen, um die Shutdown-Methode erfolgreich aufzurufen.
use strict;
use Win32::OLE;
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->Shutdown();
if (!defined $RetVal || $RetVal != 0)
{
print Win32::OLE->LastError, "\n";
}
}
}
else
{
print STDERR Win32::OLE->LastError, "\n";
}
Mit dem folgenden VBScript-Code wird der angegebene Remotecomputer heruntergefahren. Geben Sie REMOTE_SYSTEM_NAME den Namen des remote herunterfahrenden Systems an.
Hinweis
Sie müssen über die RemoteShutdown-Berechtigung verfügen, um die Shutdown-Methode erfolgreich aufrufen zu können.
Set OpSysSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//REMOTE_SYSTEM_NAME/root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")
for each OpSys in OpSysSet
OpSys.Shutdown()
next
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|