Compartir a través de


Método Reboot de la clase Win32_OperatingSystem

El método declase Reboot WMI apaga el sistema informático y, a continuación, lo reinicia.

En este tema se usa la sintaxis de Managed Object Format (MOF). Para obtener más información sobre el uso de este método, vea Llamar a un método.

Sintaxis

uint32 Reboot();

Parámetros

Este método no tiene parámetros.

Valor devuelto

Devuelve cero (0) para indicar que se ha realizado correctamente. Cualquier otro número indica que hubo un error. Para obtener códigos de error, consulte Constantes de error WMI o WbemErrorEnum. Para obtener valores HRESULT generales, consulte Códigos de error del sistema.

Correcto (0)

Otros (1 4294967295)

Comentarios

La capacidad de reiniciar un equipo mediante programación permite a los administradores realizar muchas tareas de administración de equipos de forma remota.

Por ejemplo, si crea un script para instalar software o realizar un cambio de configuración que requiera reiniciar un equipo, puede incluir el comando restart en el script y realizar toda la operación de forma remota. El método Reboot se puede usar para reiniciar un equipo. Al igual que el método Win32Shutdown , el método Reboot requiere que el usuario cuyas credenciales de seguridad use el script para poseer el privilegio Apagar.

Ejemplos

El siguiente ejemplo de código VBScript invoca el método Reboot de la clase Win32_OperatingSystem .

Nota

Debe tener el privilegio Shutdown para invocar correctamente el método Shutdown.

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

for each OpSys in OpSysSet
 OpSys.Reboot()
next

El código Perl siguiente invoca el método Reboot de la clase Win32_OperatingSystem .

Nota

Debe tener el privilegio Shutdown para invocar correctamente el método 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";
}

El siguiente VBScript invoca el método Reboot de la clase Win32_OperatingSystem en un sistema remoto. Rellene REMOTE_SYSTEM_NAME con el nombre del sistema remoto que se va a reiniciar.

Nota

Debe tener el privilegio RemoteShutdown para invocar correctamente el método 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

después de Perl invoca el método Reboot de la clase Win32_OperatingSystem en un sistema remoto. Rellene REMOTE_SYSTEM_NAME con el nombre del sistema remoto que se va a reiniciar.

Nota

Debe tener el privilegio RemoteShutdown para invocar correctamente el método 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);
}

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Espacio de nombres
Root\CIMV2
MOF
CIMWin32.mof
Archivo DLL
CIMWin32.dll

Consulte también

Clases de sistema operativo

Win32_OperatingSystem

Método CIM_OperatingSystem.Shutdown

Tareas de WMI: Administración de escritorio