Stop-Computer

Detiene (apaga) los equipos locales y remotos.

Syntax

Stop-Computer
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

El Stop-Computer cmdlet apaga el equipo local y los equipos remotos.

Puede usar los parámetros de para ejecutar las operaciones de Stop-Computer apagado como trabajo en segundo plano, para especificar los niveles de autenticación y las credenciales alternativas, limitar las conexiones simultáneas que se crean para ejecutar el comando y forzar el apagado inmediato.

Este cmdlet no requiere comunicación remota de PowerShell a menos que use el parámetro AsJob .

Ejemplos

Ejemplo 1: Apagar el equipo local

En este ejemplo se apaga el equipo local.

Stop-Computer -ComputerName localhost

Ejemplo 2: Apagar dos equipos remotos y el equipo local

En este ejemplo se detienen dos equipos remotos y el equipo local.

Stop-Computer -ComputerName "Server01", "Server02", "localhost"

Stop-Computer usa el parámetro ComputerName para especificar dos equipos remotos y el equipo local. Cada equipo está apagado.

Ejemplo 3: Apagar equipos remotos como trabajo en segundo plano

En este ejemplo, Stop-Computer se ejecuta como un trabajo en segundo plano en dos equipos remotos.

$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results

Stop-Computer usa el parámetro ComputerName para especificar dos equipos remotos. El parámetro AsJob ejecuta el comando como un trabajo en segundo plano. Los objetos de trabajo se almacenan en la $j variable .

Los objetos de trabajo de la $j variable se envían a la canalización a Receive-Job, que obtiene los resultados del trabajo. Los objetos se almacenan en la $results variable . La $results variable muestra la información del trabajo en la consola de PowerShell.

Dado que AsJob crea el trabajo en el equipo local y devuelve automáticamente los resultados al equipo local, puede ejecutarse Receive-Job como un comando local.

Ejemplo 4: Apagar un equipo remoto

En este ejemplo se apaga un equipo remoto mediante la autenticación especificada.

Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Stop-Computer usa el parámetro ComputerName para especificar el equipo remoto. El parámetro Impersonation especifica una suplantación personalizada y el parámetro DcomAuthentication especifica la configuración de nivel de autenticación.

Ejemplo 5: Apagar equipos en un dominio

En este ejemplo, los comandos fuerzan un apagado inmediato de todos los equipos de un dominio especificado.

$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c

Get-Content usa el parámetro Path para obtener un archivo en el directorio actual con la lista de equipos de dominio. Los objetos se almacenan en la $s variable .

Get-Credential usa el parámetro Credential para especificar las credenciales de un administrador de dominio. Las credenciales se almacenan en la $c variable .

Stop-Computer apaga los equipos especificados con la lista de equipos del parámetro ComputerName de la $s variable . El parámetro Force fuerza un apagado inmediato. El parámetro ThrottleLimit limita el comando a 10 conexiones simultáneas. El parámetro Credential envía las credenciales guardadas en la $c variable .

Parámetros

-AsJob

Indica que este cmdlet se ejecuta como un trabajo en segundo plano.

Para usar este parámetro, los equipos locales y remotos deben configurarse para la comunicación remota y, en Windows Vista y versiones posteriores del sistema operativo Windows, debe abrir PowerShell mediante la opción Ejecutar como administrador . Para obtener más información, consulte about_Remote_Requirements.

Al especificar el parámetro AsJob , el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede seguir trabajando en la sesión mientras finaliza el trabajo. Se crea el trabajo en el equipo local y, automáticamente, se devuelven los resultados de los equipos remotos al equipo local. Para obtener los resultados del trabajo, use el Receive-Job cmdlet .

Para obtener más información sobre los trabajos en segundo plano de PowerShell, consulte about_Jobs y about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Especifica los equipos que se van a detener. La opción predeterminada es el equipo local.

Escriba el nombre NETBIOS, la dirección IP o el nombre de dominio completo de uno o varios equipos en una lista separada por comas. Para especificar el equipo local, escriba el nombre del equipo o localhost.

Este parámetro no se basa en la comunicación remota de PowerShell. Puede usar el parámetro ComputerName incluso si el equipo no está configurado para ejecutar comandos remotos.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto PSCredential generado por el Get-Credential cmdlet . Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.

Las credenciales se almacenan en un objeto PSCredential y la contraseña se almacena como SecureString.

Nota:

Para obtener más información sobre la protección de datos SecureString , consulte ¿Cómo es secure is SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DcomAuthentication

Especifica el nivel de autenticación que usa este cmdlet con WMI. Stop-Computer usa WMI. El valor predeterminado es Packet.

Los valores permitidos para este parámetro son los siguientes:

  • Valor predeterminado: autenticación de Windows.
  • Ninguno: sin autenticación COM.
  • Conectar: autenticación COM de nivel Conectar.
  • Llamada: autenticación COM de nivel de llamada.
  • Paquete: autenticación COM de nivel de paquete.
  • PacketIntegrity: autenticación COM de nivel de integridad de paquetes.
  • PacketPrivacy: autenticación COM de nivel de privacidad de paquetes.
  • Sin cambios: igual que el comando anterior.

Para obtener más información sobre los valores de este parámetro, consulte AuthenticationLevel.

Type:AuthenticationLevel
Aliases:Authentication
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:Packet
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Fuerza un apagado inmediato del equipo.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Especifica el nivel de suplantación que se va a usar cuando este cmdlet llama a WMI. El valor predeterminado es Impersonate.

Stop-Computer usa WMI. Los valores permitidos para este parámetro son los siguientes:

  • Valor predeterminado: suplantación predeterminada.
  • Anónimo: oculta la identidad del autor de la llamada.
  • Identificar: permite a los objetos consultar las credenciales del autor de la llamada.
  • Suplantación: permite que los objetos usen las credenciales del autor de la llamada.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:Impersonate
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Protocol

Especifica el protocolo que se usa para reiniciar los equipos. Los valores aceptables para este parámetro son: WSMan y DCOM. El valor predeterminado es DCOM.

Este parámetro se introdujo en PowerShell 3.0.

Type:String
Accepted values:DCOM, WSMan
Position:Named
Default value:DCOM
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Especifica el número máximo de operaciones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o escribe un valor 0, se usa el valor predeterminado, 32.

El límite solo se aplica al comando actual, no a la sesión ni al equipo.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

Especifica el mecanismo que se usa para autenticar las credenciales de usuario cuando este cmdlet usa el protocolo WSMan. El valor predeterminado es Default.

Los valores permitidos para este parámetro son los siguientes:

  • Basic
  • CredSSP
  • Valor predeterminado
  • Digest
  • Kerberos
  • Negociar.

Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism.

Precaución

La autenticación del proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales de usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo el riesgo de seguridad de la operación remota. Si el equipo remoto se ve comprometido, las credenciales que se pasen a él se pueden utilizar para controlar la sesión de red.

Este parámetro se introdujo en PowerShell 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

System.Management.Automation.RemotingJob

Cuando se usa el parámetro AsJob , este cmdlet devuelve un objeto RemotingJob .

Notas

Este cmdlet usa el Win32Shutdown método de la Win32_OperatingSystem clase WMI. Este método requiere que el SeShutdownPrivilege privilegio esté habilitado para la cuenta de usuario que se usa para apagar la máquina.