Compartir a través de


Stop-Computer

Detiene (apaga) equipos locales y remotos.

Sintaxis

Stop-Computer
    [-WsmanAuthentication <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

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

Puede usar los parámetros de Stop-Computer para especificar los niveles de autenticación y las credenciales alternativas y forzar el apagado inmediato.

En PowerShell 7.1, Stop-Computer se agregó para Linux y macOS. Los parámetros no tienen ningún efecto en estas plataformas. El cmdlet simplemente llama al comando nativo /sbin/shutdown.

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.

El operador en segundo plano & ejecuta el comando Stop-Computer como trabajo en segundo plano. Para obtener más información, vea about_Operators.

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

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

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

Ejemplo 4: Apagar un equipo remoto

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

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-Computer usa el parámetro computerName para especificar el equipo remoto. El parámetro WsmanAuthentication especifica usar Kerberos para establecer una conexión remota.

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 -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 variable $s.

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

Stop-Computer apaga los equipos especificados con la lista de equipos de ComputerName de equipos de la variable $s. El parámetro Force fuerza un apagado inmediato. El parámetro credential envía las credenciales guardadas en la variable $c.

Parámetros

-ComputerName

Especifica los equipos que se van a detener. El valor predeterminado es el equipo local.

Escriba el nombre NETBIOS, la dirección IP o el nombre de dominio completo de uno o varios equipos de 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.

Tipo:String[]
Alias:CN, __SERVER, Server, IPAddress
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 de PSCredential generado por el cmdlet Get-Credential. Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.

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

Nota

Para obtener más información sobre Protección de datos de secureString, consulte ¿Cómo es secureString?.

Tipo:PSCredential
Posición:1
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Fuerza un apagado inmediato del equipo.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 valor predeterminado.

Los valores aceptables para este parámetro son:

  • Básico
  • CredSSP
  • Predeterminado
  • Digerir
  • Kerberos
  • Negociar.

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

Cautela

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 aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto está en peligro, se pueden usar las credenciales que se pasan a ella para controlar la sesión de red.

Este parámetro se introdujo en PowerShell 3.0.

Tipo:String
Valores aceptados:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Posición:Named
Valor predeterminado:Default
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

Este cmdlet no devuelve ninguna salida.

Notas

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

En PowerShell 7.1, Stop-Computer se agregó para Linux y macOS. Para estas plataformas, el cmdlet llama al comando nativo /sbin/shutdown.