Freigeben über


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
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

Betriebssystemklassen

Win32_operatingsystem

WMI-Aufgaben: Desktopverwaltung

Ausführen von privilegierten Vorgängen mit VBScript