Manejo de varios servidores usando powershell (Parte II)

Manejo de varios servidores usando powershell (Parte II)

En mi primer artículo cité lo básico de powershell. Ahora vamos a entrar a una sección más avanzada.

Este artículo incluye lo siguiente:

Ver todas las clases disponibles de WMI

Ver información de los volúmenes del disco en powershell

Usar select en powershell (especificar columnas a mostrar)

Usar where en powershell para filtar las filas a mostrar

Para obtener datos de una máquina remota utilizando powershell

Para obtener datos del sistema operativo de varios servidores a la vez utilizando powershell

Vamos a controlar varias máquinas usando powershell y WMI. No se asusten si no saben nada de WMI.

Voy a introducirles al mundo de WMI usando powershell.

WMI (Windows management Instrumentation) es una tecnología que permite manejar computadoras windows.

Mediante WMI se puede ver información del BIOS, del cluster, del sistema operativo y discos.

Para ver todas las clases disponibles se utiliza la siguiente sintaxis:

Gwmi -namespace "root\cimv2" –list

CIM_ExecuteProgram CIM_FileAction

CIM_RemoveFileAction CIM_CopyFileAction

Win32_ClientApplicationSetting CIM_Product

Win32_ComputerSystemProduct Win32_ImplementedCategory

CIM_SoftwareElementActions CIM_ToDirectorySpecification

CIM_ReplacementSet CIM_Configuration

Ahora veamos información de los volúmenes del disco en powershell con WMI:

Gwmi -class Win32_volume

DirtyBitSet : False

DriveLetter : D:

DriveType : 5

ErrorCleared :

ErrorDescription :

ErrorMethodology :

FileSystem : CDFS

FreeSpace : 0

IndexingEnabled :

InstallDate :

Label : SQLServer2008

LastErrorCode :

MaximumFileNameLength : 110

Name : D:\

NumberOfBlocks :

PNPDeviceID :

SystemName : DANVIRT

Usar select en powershell (especificar columnas a mostrar)

Mucha información verdad ?. Qué pasa si solo quiero ver el nombre (name) y la capacidad del volumen (capacity). Para seleccionar solo algunas columnas en powershell:

Gwmi -class Win32_volume | select name, capacity

name capacity

---- --------

C:\ 8578932736

E:\ 5362847744

D:\ 3509424128

Usar where en powershell para filtar las filas a mostrar:

Ahora si quiero utilizar un where en powershell con el comando like:

Gwmi -class Win32_volume | select name, capacity | where {$_.name -like "c*"}

name capacity

C:\ 8578932736

El comando muestra el nombre y la capacidad del volumen c. Si quisiéramos ver la capacidad del disco d, sería casi igual.

Gwmi -class Win32_volume | select name, capacity | where {$_.name -like "d*"}

Acá estoy usando el comando like. Se puede usar match o equals si sabemos exactamente como se escribe.

Ahora, si queremos ver los datos de una computadora remota, tenemos que usar el parámetro computername:

Para obtener datos del sistema operativo de una máquina remota utilizando powershell:

Gwmi win32_OperatingSystem -computername danvirt

Donde danvirt es el nombre de mi máquina:

SystemDirectory : C:\WINDOWS\system32

Organization : jala

BuildNumber : 3790

RegisteredUser : dan

SerialNumber : 69815-650-9188916-45856

Version : 5.2.3790

Ahora tratemos de obtener resultados de varias máquinas a la vez.

Para obtener datos del sistema operativo de varios servidores a la vez utilizando powershell:

Gwmi win32_OperatingSystem -computername 10.31.22.44,10.31.22.45

Se le puede mandar el nombre de la computadora o el ip separado por comas.

Espero que les sean útiles estos ejemplos. Si desean más, solo escriban al blog.

Comentarios

  1. Muy buenos, geniales articulos. Me gustaría saber (echaré un vistazo por el blog) como acceder a SQL SERVER desde PowerShell (sin tener que ejecutar el powershell de SQLSERVER. PArece una trabalenguas) ya que intento acceder a él como si fuera una particion (drive) y no me lo permite.

    ResponderEliminar
  2. Inicio ejecutar>sqlps abre el PS de SQL server. Pero sospecho que tu quieres algo más que eso.
    Tal vez te convenga generar un archivo ps1.
    Puedes usar mi Búsqueda personalizada de artículos de este sitio web. Avísame si te sirve o quieres algo más.

    ResponderEliminar
  3. Hola Daniel, gracias por tu tiempo y dedicación a iluminarnos en estos temas.

    Una pregunta, que hago para consultar un equipo destino con clave o contraseña con el comando:
    Gwmi win32_OperatingSystem -computername xyz
    .... ¿?

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Detectar el usuario de Windows utilizando C#

La página oficial del dólar blue en Bolivia

Lo nuevo de SQL Server 2008 respecto a SQL Server 2005