Obtener-WmiObject Computadora Remota: Inventario de Computadoras Usando PowerShell
¿Cómo puedo inventariar computadoras remotas usando PowerShell? La respuesta es usar Obtener-WmiObject en una computadora remota. Esta publicación te proporciona un tutorial completo. Sigue leyendo si estás interesado.
¿Cómo me conecto a WMI de forma remota?
Windows Management Instrumentation (WMI) es una infraestructura de administración incorporada en Windows para consultar datos de administración y operaciones. Se puede utilizar para consultar información en computadoras locales y remotas, como procesos en ejecución, software instalado, información del BIOS y mucho más.
El cmdlet Get-WmiObject obtiene instancias de clases WMI o información sobre las clases WMI disponibles. Puede utilizar el parámetro ComputerName para especificar una computadora remota, de modo que pueda conectarse a WMI de forma remota.
Cómo utilizar PowerShell Get-WmiObject en una computadora remota
A continuación, veremos cómo utilizar PowerShell Get-WmiObject en una computadora remota para obtener información del equipo.
Si se especifica el parámetro Query, el cmdlet ejecuta una instrucción de lenguaje de consulta WMI (WQL). Si se especifica el parámetro List, el cmdlet obtiene información sobre las clases WMI disponibles en un espacio de nombres especificado. El parámetro ComputerName se utiliza para especificar las computadoras. Veamos algunos ejemplos.
Primero, probemos la conexión WMI a la computadora remota. El siguiente ejemplo le permite probar la conexión WMI a la computadora remota llamada PC1.
- Get-WmiObject -query "SELECT * FROM Win32_OperatingSystem" -ComputerName PC1
También puede enumerar la lista de recursos compartidos de red desde una máquina remota utilizando la clase WMI Win32_Share de PowerShell. Aquí, FT no es más que el cmdlet Format-Table, puede cambiarlo a FL para mostrar el resultado en vista de lista.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share" | FL
Puede utilizar una sintaxis similar a una consulta SQL para aplicar un filtro en la clase Win32_Share. El siguiente script de PowerShell filtra y muestra solo carpetas compartidas de red (no compartidos ocultos) agregando el filtro Type=0.
- Get-WMIObject -ComputerName "PC1" -Query "SELECT * FROM Win32_Share Where Type=0" | FT
Más ejemplos
Ejemplo 1: Obtiene los servicios en la computadora remota PC1:
- Obtener objeto Wmi -Clase Win32_Service -Nombre de equipo PC1
También puede obtener los servicios en un equipo remoto usando Get-WmiObject equipo remotoCredencial. El siguiente ejemplo utiliza el parámetro Credencial. El valor del parámetro Credencial es un nombre de cuenta de usuario. Se solicita al usuario una contraseña.
- Get-WmiObjectWin32_Service -Credencial FABRIKAM\administrador -Nombre de equipo Fabrikam
Ejemplo 2: Detener un servicio en el equipo remoto PC1:
- (Obtener objeto Wmi -Clase Win32_Service -Filtro "nombre="WinRM"' -Nombre de equipo PC1).DetenerServicio()
Ejemplo 3: Obtener la BIOS en el equipo remoto PC1:
- Obtener objeto Wmi -Clase Win32_Bios -Nombre de equipo PC1| Formato-Lista -Propiedad *
Nota
Debemos señalar que el cmdlet Get-WmiObject ha sido reemplazado por Get-CimInstance en PowerShell 3.0. Por ejemplo, el siguiente comando muestra cada nombre de proceso en ejecución junto con su tiempo de kernel de mayor a menor:
- Get-CimInstance -Clase Win32_Process -Nombre de equipo DC1 | Seleccionar-Objeto -Propiedad Nombre,KernelModeTime | Ordenar-Objeto KernelModeTime -Descendente
AnyViewer: solución de escritorio remoto con GUI para Windows
Si desea una forma más directa de consultar datos de administración y operaciones de computadoras, le recomendamos encarecidamente AnyViewer, un programa de escritorio remoto gratuito que le permite controlar de forma remota una computadora desde otra. Ofrece una interfaz de usuario gráfica para una computadora remota, que es más directa e intuitiva en comparación con PowerShell.
Paso 1. Descargue, instale y ejecute AnyViewer en ambas computadoras.
Paso 2. Vaya a Iniciar sesión, y luego haga clic en Registrarse. (Si ya se ha registrado en su sitio web oficial, puede iniciar sesión directamente).
Paso 3. Rellena la información de registro.
Paso 4. A continuación, podrás ver que iniciaste sesión correctamente en AnyViewer. Tu dispositivo se asignará automáticamente a la cuenta en la que has iniciado sesión.
Paso 5. Inicia sesión en la misma cuenta de AnyViewer en los dos dispositivos, luego haz clic en Control con un clic para lograr acceso remoto desatendido.
✍Nota: Si actualizas tu cuenta a un plan profesional o empresarial, tendrás más derechos:
- Puedes asignar más dispositivos para lograr acceso remoto desatendido.
- Se mostrarán más dispositivos conectados actualmente, lo que te permite ver más historiales de conexión en cualquier momento.
- Puedes conectarte a otra computadora en modo de privacidad, lo que significa que puedes oscurecer la pantalla y bloquear el mouse y el teclado de la computadora remota, protegiendo aún más tu privacidad.
Paso 6. Después de tomar el control total de la computadora remota, puedes abrir cualquier programa y administrarlo como si lo estuvieras utilizando en realidad.
En conclusión
Esta publicación te brinda un tutorial completo sobre cómo usar PowerShell Get-WmiObject en una computadora remota para inventariar información de la computadora. Si deseas una forma más directa e intuitiva de consultar datos de administración y operaciones de la computadora, se te recomienda utilizar AnyViewer.