Búsqueda de sitios web

Stop-Computer (Microsoft.PowerShell.Management)


Stop-Computer

Módulo:
Microsoft.PowerShell.Management

Detiene (apaga) las computadoras locales y remotas.

Sintaxis

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

Descripción

El cmdlet Stop-Computer apaga la computadora local y las computadoras remotas.

Puede utilizar los parámetros de Stop-Computer para especificar los niveles de autenticación y las credenciales alternativas, y para forzar un cierre inmediato.

En PowerShell 7.1, se agregó Stop-Computer 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 la computadora local

Este ejemplo apaga la computadora local.

Stop-Computer -ComputerName localhost

Ejemplo 2: apagar dos computadoras remotas y la computadora local

Este ejemplo detiene dos computadoras remotas y la computadora local.

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

Stop-Computer utiliza el parámetro ComputerName para especificar dos computadoras remotas y la computadora local. Cada computadora se apaga.

Ejemplo 3: apagar computadoras remotas como trabajo en segundo plano

En este ejemplo, Stop-Computer se ejecuta como trabajo en segundo plano en dos computadoras remotas.

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

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

Stop-Computer utiliza el parámetro ComputerName para especificar dos computadoras remotas. El operador en segundo plano & ejecuta el comando como un trabajo en segundo plano. Los objetos del trabajo se almacenan en la variable $j.

Los objetos de trabajo en la variable $j se envían por el canal 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 una computadora remota

Este ejemplo apaga una computadora remota usando la autenticación especificada.

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-Computer utiliza el parámetro ComputerName para especificar la computadora remota. El parámetro WsmanAuthentication especifica el uso de Kerberos para establecer una conexión remota.

Ejemplo 5: apagar las computadoras en un dominio

En este ejemplo, los comandos fuerzan el apagado inmediato de todas las computadoras en un dominio específico.

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

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

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

Stop-Computer apaga las computadoras especificadas con la lista de computadoras del parámetro ComputerName en 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 las computadoras que se van a detener. El valor predeterminado es la computadora local.

Escriba el nombre NETBIOS, la dirección IP o el nombre de dominio completo de una o más computadoras en una lista separada por comas. Para especificar la computadora local, escriba el nombre de la computadora o localhost.

Este parámetro no depende de la comunicación remota de PowerShell. Puede utilizar el parámetro ComputerName incluso si su computadora no está configurada 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 solicita confirmación antes de ejecutar el cmdlet.

Tipo :

SwitchParameter

Alias:

cf

Posición:

Nombrado

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 Usuario01 o Dominio01\Usuario01, o introduzca un objeto PSCredential generado por Get-Credential. código> cmdlet. Si escribe un nombre de usuario, se le pedirá que ingrese 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 de SecureString, consulte ¿Qué tan seguro es SecureString?.

Tipo :

PSCredencial

Posición:

1

Valor predeterminado:

Usuario actual

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Force

Fuerza el apagado inmediato del ordenador.

Tipo :

SwitchParameter

Posición:

Nombrado

Valor predeterminado:

False

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-WhatIf

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

Tipo :

SwitchParameter

Alias:

wi

Posición:

Nombrado

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 del usuario cuando este cmdlet usa el protocolo WSMan. El valor predeterminado es Predeterminado.

Los valores aceptables para este parámetro son:

  • Básico
  • CredSSP
  • Por defecto
  • Digerir
  • Kerberos
  • Negociar.

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

Precaución

La autenticación del Proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales del usuario se pasan a una computadora remota para su autenticación, 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 la computadora remota está comprometida, las credenciales que se le pasan se pueden usar para controlar la sesión de red.

Este parámetro se introdujo en PowerShell 3.0.

Tipo :

String

Valores aceptados:

Predeterminado, Básico, Negociar, CredSSP, Resumen, Kerberos

Posición:

Nombrado

Valor predeterminado:

Por defecto

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

Entradas

Ninguno

No puede canalizar objetos a este cmdlet.

Salidas

Ninguno

Este cmdlet no devuelve ningún resultado.

Notas

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

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

Artículos relacionados