Recopilar información acerca de los equiposCollecting Information About Computers

Los cmdlets del módulo CimCmdlets son los más importantes para tareas de administración generales del sistema.Cmdlets from CimCmdlets module are the most important cmdlets for general system management tasks. Todas las opciones de configuración críticas del subsistema se exponen a través de WMI.All critical subsystem settings are exposed through WMI. Además, WMI trata los datos como objetos que están en colecciones de uno o más elementos.Furthermore, WMI treats data as objects that are in collections of one or more items. Dado que Windows PowerShell también funciona con objetos y tiene una canalización que permite tratar uno o varios objetos de la misma manera, el acceso genérico a WMI le permite realizar algunas tareas avanzadas con muy poco esfuerzo.Because Windows PowerShell also works with objects and has a pipeline that allows you to treat single or multiple objects in the same way, generic WMI access allows you to perform some advanced tasks with very little work.

Enumerar la configuración del escritorioListing Desktop Settings

Comenzaremos con un comando que recopila información acerca de los escritorios en el equipo local.We'll begin with a command that collects information about the desktops on the local computer.

Get-CimInstance -ClassName Win32_Desktop

Devuelve información de todos los equipos de escritorio, independientemente de si están en uso.This returns information for all desktops, whether they are in use or not.

Nota

La información devuelta por algunas clases WMI puede ser muy detallada y, a menudo, incluir metadatos acerca de la clase WMI.Information returned by some WMI classes can be very detailed, and often include metadata about the WMI class.

Dado que la mayoría de las propiedades de estos metadatos tienen nombres que comienzan por Cim , puede filtrarlas mediante Select-Object.Because most of these metadata properties have names that begin with Cim , you can filter the properties using Select-Object. Especifique el parámetro -ExcludeProperty con "Cim*" como valor.Specify the -ExcludeProperty parameter with "Cim*" as the value. Por ejemplo:For example:

Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"

Para filtrar los metadatos, use un operador de canalización (|) para enviar los resultados del comando Get-CimInstance a Select-Object -ExcludeProperty "CIM*".To filter out the metadata, use a pipeline operator (|) to send the results of the Get-CimInstance command to Select-Object -ExcludeProperty "CIM*".

Enumerar información del BIOSListing BIOS Information

La clase Win32_BIOS de WMI devuelve información bastante compacta y completa sobre el BIOS del sistema en el equipo local:The WMI Win32_BIOS class returns fairly compact and complete information about the system BIOS on the local computer:

Get-CimInstance -ClassName Win32_BIOS

Enumerar información del procesadorListing Processor Information

Puede recuperar información general del procesador mediante la clase Win32_Processor de WMI, aunque probablemente desee filtrar la información:You can retrieve general processor information by using WMI's Win32_Processor class, although you will likely want to filter the information:

Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"

Para obtener una cadena descriptiva genérica de la familia del procesador, puede devolver la propiedad SystemType :For a generic description string of the processor family, you can just return the SystemType property:

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType

SystemType
----------
X86-based PC

Enumerar el modelo y el fabricante del equipoListing Computer Manufacturer and Model

La información del modelo del equipo también está disponible en Win32_ComputerSystem .Computer model information is also available from Win32_ComputerSystem . La salida estándar mostrada no necesita ningún filtrado para proporcionar datos de OEM:The standard displayed output will not need any filtering to provide OEM data:

Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain    TotalPhysicalMemory Model                   Manufacturer
---- ---------------- ------    ------------------- -----                   ------------
MyPC Jane Doe         WORKGROUP 804765696           DA243A-ABA 6415cl NA910 Compaq Presario 06

La salida de comandos como este, que devuelven información directamente de determinado hardware, es tan buena como los datos que posee.Your output from commands such as this, which return information directly from some hardware, is only as good as the data you have. Los fabricantes del hardware no configuran correctamente algunos datos, por lo que podrían no estar disponibles.Some information is not correctly configured by hardware manufacturers and may therefore be unavailable.

Enumerar las revisiones instaladasListing Installed Hotfixes

Puede enumerar todas las revisiones instaladas mediante Win32_QuickFixEngineering :You can list all installed hotfixes by using Win32_QuickFixEngineering :

Get-CimInstance -ClassName Win32_QuickFixEngineering

Esta clase devuelve una lista de revisiones que se ve así:This class returns a list of hotfixes that looks like this:

Source Description     HotFixID  InstalledBy   InstalledOn PSComputerName
------ -----------     --------  -----------   ----------- --------------
       Security Update KB4048951 Administrator 12/16/2017  .

Para obtener una salida más concisa, puede excluir algunas propiedades.For more succinct output, you may want to exclude some properties. Aunque puede usar el parámetro Property de Get-CimInstance para elegir solo HotFixID , al hacerlo se devolverá más información, porque se muestran todos los metadatos de manera predeterminada:Although you can use the Get-CimInstance's Property parameter to choose only the HotFixID , doing so will actually return more information, because all the metadata is displayed by default:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixID
InstalledOn           :
Caption               :
Description           :
InstallDate           :
Name                  :
Status                :
CSName                :
FixComments           :
HotFixID              : KB4533002
InstalledBy           :
ServicePackInEffect   :
PSComputerName        :
CimClass              : root/cimv2:Win32_QuickFixEngineering
CimInstanceProperties : {Caption, Description, InstallDate, Name…}
CimSystemProperties   : Microsoft.Management.Infrastructure.CimSystemProperties
...

Se devuelven los datos adicionales, ya que el parámetro Property de Get-CimInstance restringe las propiedades devueltas de instancias de la clase WMI, no el objeto que se devuelve a PowerShell.The additional data is returned, because the Property parameter in Get-CimInstance restricts the properties returned from WMI class instances, not the object returned to PowerShell. Para reducir la salida, use Select-Object:To reduce the output, use Select-Object:

Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId | Select-Object -Property HotFixId
HotFixId
--------
KB4048951

Enumerar la información de versión del sistema operativoListing Operating System Version Information

Las propiedades de la clase Win32_OperatingSystem incluyen información acerca de la versión y del Service Pack.The Win32_OperatingSystem class properties include version and service pack information. Solo puede seleccionar explícitamente estas propiedades para obtener un resumen de la información de versión de Win32_OperatingSystem :You can explicitly select only these properties to get a version information summary from Win32_OperatingSystem :

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion

También puede usar caracteres comodín con el parámetro Property de Select-Object.You can also use wildcards with the Select-Object's Property parameter. Dado que todas las propiedades que comienzan por Build o ServicePack son importantes para usar aquí, podemos reducirlo al formato siguiente:Because all the properties beginning with either Build or ServicePack are important to use here, we can shorten this to the following form:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property Build*,OSType,ServicePack*
BuildNumber             : 18362
BuildType               : Multiprocessor Free
OSType                  : 18
ServicePackMajorVersion : 0
ServicePackMinorVersion : 0

Enumerar el propietario y los usuarios localesListing Local Users and Owner

La información local del usuario general (número de usuarios con licencia, número actual de usuarios y nombre del propietario) puede encontrarse con una selección de propiedades de la clase Win32_OperatingSystem .Local general user information — number of licensed users, current number of users, and owner name — can be found with a selection of Win32_OperatingSystem class properties. Puede seleccionar explícitamente las propiedades para que tengan el aspecto siguiente:You can explicitly select the properties to display like this:

Get-CimInstance -ClassName Win32_OperatingSystem |
  Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser

Una versión más concisa con caracteres comodín es:A more succinct version using wildcards is:

Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*

Obtener el espacio disponible en discoGetting Available Disk Space

Para ver el espacio en disco y el espacio libre de las unidades locales, puede usar la clase Win32_LogicalDisk de WMI.To see the disk space and free space for local drives, you can use the Win32_LogicalDisk WMI class. Solo necesita ver las instancias con un valor de DriveType de 3 (valor que WMI usa para los discos duros fijos).You need to see only instances with a DriveType of 3 — the value WMI uses for fixed hard disks.

Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
DeviceID DriveType ProviderName VolumeName Size         FreeSpace   PSComputerName
-------- --------- ------------ ---------- ----         ---------   --------------
C:       3                      Local Disk 203912880128 65541357568 .
Q:       3                      New Volume 122934034432 44298250240 .
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" |
  Measure-Object -Property FreeSpace,Size -Sum |
    Select-Object -Property Property,Sum
Property           Sum
--------           ---
FreeSpace 109839607808
Size      326846914560

Obtener información de la sesión de inicioGetting Logon Session Information

Puede obtener información general sobre las sesiones de inicio asociadas a los usuarios a través de la clase Win32_LogonSession de WMI:You can get general information about logon sessions associated with users through the Win32_LogonSession WMI class:

Get-CimInstance -ClassName Win32_LogonSession

Ayudar al usuario a iniciar sesión en un equipoGetting the User Logged on to a Computer

Para ver el usuario que inició sesión en un equipo concreto use Win32_ComputerSystem.You can display the user logged on to a particular computer system using Win32_ComputerSystem. Este comando devuelve solo el usuario que inició sesión en el escritorio del sistema:This command returns only the user logged on to the system desktop:

Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName

Obtener la hora local de un equipoGetting Local Time from a Computer

Puede recuperar la hora local actual de un equipo específico mediante la clase Win32_LocalTime de WMI.You can retrieve the current local time on a specific computer by using the Win32_LocalTime WMI class.

Get-CimInstance -ClassName Win32_LocalTime
Day            : 23
DayOfWeek      : 1
Hour           : 8
Milliseconds   :
Minute         : 52
Month          : 12
Quarter        : 4
Second         : 55
WeekInMonth    : 4
Year           : 2019
PSComputerName :

Visualizar el estado del servicioDisplaying Service Status

Para ver el estado de todos los servicios de un equipo concreto, puede usar el cmdlet Get-Servicelocalmente.To view the status of all services on a specific computer, you can locally use the Get-Service cmdlet. Para los sistemas remotos, puede usar la clase Win32_Service de WMI.For remote systems, you can use the Win32_Service WMI class. Si también usa Select-Object para filtrar los resultados con Status , Name y DisplayName , el formato de salida será prácticamente idéntico al de Get-Service:If you also use Select-Object to filter the results to Status , Name , and DisplayName , the output format will be almost identical to that from Get-Service:

Get-CimInstance -ClassName Win32_Service | Select-Object -Property Status,Name,DisplayName

Para permitir la visualización completa de los nombres de los servicios ocasionales con nombres muy largos, puede usar Format-Table con los parámetros AutoSize y Wrap a fin de optimizar el ancho de columna y permitir que los nombres largos se ajusten en lugar de truncarse:To allow the complete display of names for the occasional services with extremely long names, you may want to use Format-Table with the AutoSize and Wrap parameters, to optimize column width and allow long names to wrap instead of being truncated:

Get-CimInstance -ClassName Win32_Service | Format-Table -Property Status,Name,DisplayName -AutoSize -Wrap