Obtenga el estado del servicio desde una computadora remota usando PowerShell
Este artículo analizará la conexión a una computadora remota, el acceso a sus servicios y el estado del servicio mediante PowerShell.
Obtenga el estado del servicio desde una computadora remota usando PowerShell
Hay muchas formas de conectarse a una computadora remota y acceder a sus servicios. Windows PowerShell facilita esto mediante el cmdlet Get-WmiObject
.
Se puede usar para administrar recursos en una computadora remota fácilmente. Puede ejecutar el comando Get-WmiObject
con un nombre de clase WMI para acceder a los servicios informáticos locales.
Este comando se ejecuta en la máquina local de forma predeterminada.
Get-WmiObject Win32_Bus
Producción:
El cmdlet Get-WmiObject
proporciona el parámetro -ComputerName
para especificar la computadora remota. Puede ser un nombre NetBIOS o una dirección IP de la máquina remota.
En algunos escenarios, es posible que también deba proporcionar un nombre de dominio completo. Este parámetro no depende del mecanismo de comunicación remota de Windows PowerShell.
Por lo tanto, no se basa en el protocolo WS-Management. Los usuarios no necesitan preocuparse por si su computadora está configurada para ejecutar comandos remotos de WM-Management.
Get-WmiObject -Class Win32_Bus -ComputerName 100.34.35.10
Esto debería conectarse a la computadora remota identificada por la dirección IP 100.34.35.10
y recuperar la información del recurso Win32_Bus
.
En algunos escenarios, debe especificar el nombre de usuario y la contraseña para conectarse al host remoto. El cmdlet Get-WmiObject
tiene un parámetro -Credential
para especificar la información de inicio de sesión en la máquina remota.
Hay dos formas de pasar un argumento para el parámetro -Credential
.
- Proporcione un nombre de usuario
- Proporcione un objeto
PsCredential
Proporcione un nombre de usuario
El parámetro -Credential
del cmdlet Get-WmiObject
acepta solo un nombre de usuario o nombre de cuenta de usuario como texto, como se muestra a continuación.
Get-WmiObject Win32_Service -Credential user001 -ComputerName 100.43.10.11
Este comando intentará conectarse al host identificado por la dirección IP 100.43.10.11
. La conexión utilizará el nombre de usuario proporcionado (usuario001
) como usuario de registro.
Este comando le pedirá al usuario que ingrese la contraseña. Cuando se haya proporcionado la contraseña correcta, establecerá la conexión y recuperará la información de la instancia WMI Win32_Service
.
Proporcione un objeto PSCredential
El parámetro -Credential
del cmdlet Get-WmiObject
acepta el objeto PSCredential
como argumento. Esta es una forma muy segura de pasar sus credenciales a cualquier comando.
Podemos crear fácilmente un objeto PSCredential
, como se muestra a continuación.
$credentialObj = Get-Credential
El cmdlet Get-Credential
devuelve un objeto PSCredential
y lo almacena en la variable $credentialObj
. Cuando ejecuta el comando anterior en Windows PowerShell, aparecerá un cuadro de diálogo para ingresar los valores de nombre de usuario y contraseña de este objeto.
Ingresemos el nombre de usuario y la contraseña de la siguiente manera.
Nombre de usuario: usuario01
Contraseña: usuario01
Comprobemos el valor almacenado en $credentialObj
:
$credentialObj
Producción:
El Nombre de usuario
se puede ver como usuario01
, y la Contraseña
es una Cadena segura
de PowerShell. No se recomienda almacenar sus contraseñas en formato de texto sin formato.
Por lo tanto, el objeto PSCredential
almacena la contraseña como un SecureString
, que es más seguro.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.