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