Share via


Méthode d’arrêt de la classe Win32_OperatingSystem

La méthode de classe ShutdownWMI décharge les programmes et les DLL jusqu’à ce qu’il soit sûr de désactiver l’ordinateur.

Cette rubrique utilise la syntaxe MOF (Managed Object Format). Pour plus d’informations sur l’utilisation de cette méthode, consultez Appel d’une méthode.

Syntaxe

uint32 Shutdown();

Paramètres

Cette méthode n’a aucun paramètre.

Valeur retournée

Retourne zéro (0) pour indiquer la réussite. Tout autre nombre indique une erreur. Pour obtenir des codes d’erreur, consultez Constantes d’erreur WMI ou WbemErrorEnum. Pour connaître les valeurs HRESULT générales, consultez Codes d’erreur système.

Réussite (0)

Autre (1 4294967295)

Notes

Les ordinateurs doivent parfois être supprimés du réseau, peut-être pour une maintenance planifiée, car l’ordinateur ne fonctionne pas correctement, ou pour terminer un processus de configuration. Par exemple, si un serveur DHCP distribue des adresses IP erronées, vous pouvez arrêter l’ordinateur jusqu’à ce qu’un technicien de service puisse être envoyé pour résoudre le problème. Si vous pensez qu’une violation de la sécurité s’est produite, vous devrez peut-être arrêter certains serveurs pour vous assurer qu’ils ne sont pas accessibles tant que le problème de sécurité n’a pas été résolu. Certaines opérations de configuration (telles que la modification du nom d’un ordinateur) vous obligent à redémarrer l’ordinateur avant que la modification ne prenne effet.

Cette méthode arrête immédiatement l’ordinateur, si possible. Le système arrête tous les processus en cours d’exécution, vide tous les tampons de fichiers sur le disque, puis met le système hors service. Le processus appelant doit disposer du privilège SE_SHUTDOWN_NAME , comme décrit dans l’exemple suivant.

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

Pour plus d’informations sur la définition d’un privilège, consultez Exécution d’opérations privilégiées et Exécution d’opérations privilégiées à l’aide de VBScript. Pour obtenir des options d’arrêt supplémentaires, telles qu’une déconnexion ou un arrêt forcé, consultez la méthode Win32Shutdown .

Exemples

Le code VBScript suivant arrête l’ordinateur local.

Notes

Vous devez disposer du privilège d’arrêt pour appeler correctement la méthode Shutdown.

Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true")

for each OpSys in OpSysSet
 OpSys.Shutdown()
next

Le code Perl suivant arrête l’ordinateur local.

Notes

Vous devez disposer du privilège d’arrêt pour appeler correctement la méthode Shutdown.

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";
}

Le code VBScript suivant arrête l’ordinateur distant spécifié. Renseignez REMOTE_SYSTEM_NAME avec le nom du système distant à arrêter.

Notes

Vous devez disposer du privilège RemoteShutdown pour appeler correctement la méthode Shutdown .

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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
Espace de noms
Racine\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Voir aussi

Classes du système d’exploitation

Win32_OperatingSystem

Tâches WMI : Gestion du bureau

Exécution d’opérations privilégiées à l’aide de VBScript