Partager via


Méthode de redémarrage de la classe Win32_OperatingSystem

La méthode declasse WMI redémarrer arrête le système informatique, puis le redémarre.

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 Reboot();

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

La possibilité de redémarrer un ordinateur par programmation permet aux administrateurs d’effectuer de nombreuses tâches de gestion d’ordinateur à distance.

Par exemple, si vous créez un script pour installer un logiciel ou apporter une modification de configuration qui nécessite le redémarrage d’un ordinateur, vous pouvez inclure la commande restart dans le script et effectuer l’opération entière à distance. La méthode Reboot peut être utilisée pour redémarrer un ordinateur. Comme la méthode Win32Shutdown , la méthode Reboot exige que l’utilisateur dont les informations d’identification de sécurité sont utilisées par le script possède le privilège d’arrêt.

Exemples

L’exemple de code VBScript suivant appelle la méthode Reboot de la classe Win32_OperatingSystem .

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.Reboot()
next

Le code Perl suivant appelle la méthode Reboot de la classe Win32_OperatingSystem .

Notes

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

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

Le VBScript suivant appelle la méthode Reboot de la classe Win32_OperatingSystem sur un système distant. Renseignez REMOTE_SYSTEM_NAME avec le nom du système distant à redémarrer.

Notes

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

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

il appelle la méthode Reboot de la classe Win32_OperatingSystem sur un système distant. Renseignez REMOTE_SYSTEM_NAME avec le nom du système distant à redémarrer.

Notes

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

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

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

CIM_OperatingSystem.Shutdown, méthode

Tâches WMI : Gestion du bureau