Recolher informações sobre os computadores
Este exemplo só se aplica a plataformas Windows.
Os cmdlets do módulo CimCmdlets são os cmdlets mais importantes para tarefas gerais de gerenciamento do sistema. Todas as configurações críticas do subsistema são expostas através do WMI. Além disso, o WMI trata os dados como objetos que estão em coleções de um ou mais itens. Como o PowerShell também trabalha com objetos e tem um pipeline que permite tratar um ou vários objetos da mesma maneira, o acesso WMI genérico permite que você execute algumas tarefas avançadas com muito pouco trabalho.
Listando configurações da área de trabalho
Começaremos com um comando que coleta informações sobre as áreas de trabalho no computador local.
Get-CimInstance -ClassName Win32_Desktop
Isso retorna informações para todos os desktops, estejam eles em uso ou não.
Nota
As informações retornadas por algumas classes WMI podem ser muito detalhadas e geralmente incluem metadados sobre a classe WMI.
Como a maioria dessas propriedades de metadados tem nomes que começam com Cim, você pode filtrar as propriedades usando Select-Object
. Especifique o parâmetro -ExcludeProperty com "Cim*" como o valor. Por exemplo:
Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"
Para filtrar os metadados, use um operador de pipeline (|) para enviar os resultados do Get-CimInstance
comando para Select-Object -ExcludeProperty "CIM*"
.
Listando informações do BIOS
A classe WMI Win32_BIOS retorna informações bastante compactas e completas sobre o BIOS do sistema no computador local:
Get-CimInstance -ClassName Win32_BIOS
Listando informações do processador
Você pode recuperar informações gerais do processador usando a classe Win32_Processor do WMI, embora provavelmente queira filtrar as informações:
Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"
Para obter uma string de descrição genérica da família de processadores, basta retornar a propriedade SystemType :
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType
SystemType
----------
X86-based PC
Listando fabricante e modelo de computador
Informações sobre modelos de computador também estão disponíveis em Win32_ComputerSystem. A saída padrão exibida não precisará de nenhuma filtragem para fornecer dados OEM:
Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain TotalPhysicalMemory Model Manufacturer
---- ---------------- ------ ------------------- ----- ------------
MyPC Jane Doe WORKGROUP 804765696 DA243A-ABA 6415cl NA910 Compaq Presario 06
Sua saída de comandos como este, que retornam informações diretamente de algum hardware, é tão boa quanto os dados que você tem. Algumas informações não estão configuradas corretamente pelos fabricantes de hardware e, portanto, podem estar indisponíveis.
Listando hotfixes instalados
Você pode listar todos os hotfixes instalados usando Win32_QuickFixEngineering:
Get-CimInstance -ClassName Win32_QuickFixEngineering
Essa classe retorna uma lista de hotfixes com esta aparência:
Source Description HotFixID InstalledBy InstalledOn PSComputerName
------ ----------- -------- ----------- ----------- --------------
Security Update KB4048951 Administrator 12/16/2017 .
Para uma saída mais sucinta, convém excluir algumas propriedades. Embora você possa usar o Get-CimInstance
parâmetro Property do para escolher apenas o HotFixID, isso realmente retornará mais informações, porque todos os metadados são exibidos por padrão:
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
...
Os dados adicionais são retornados, porque o parâmetro Property in Get-CimInstance
restringe as propriedades retornadas de instâncias de classe WMI, não o objeto retornado ao PowerShell. Para reduzir a saída, use Select-Object
:
Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId |
Select-Object -Property HotFixId
HotFixId
--------
KB4048951
Listando informações de versão do sistema operacional
As propriedades da classe Win32_OperatingSystem incluem informações de versão e service pack. Você pode selecionar explicitamente apenas essas propriedades para obter um resumo de informações de versão de Win32_OperatingSystem:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion
Você também pode usar curingas com o parâmetro Property . Como todas as propriedades que começam com Build ou ServicePack são importantes para usar aqui, podemos encurtar isso para o seguinte formato:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property Build*,OSType,ServicePack*
BuildNumber : 18362
BuildType : Multiprocessor Free
OSType : 18
ServicePackMajorVersion : 0
ServicePackMinorVersion : 0
Listando usuários locais e proprietário
Informações gerais sobre usuários locais podem ser encontradas com uma seleção de propriedades de classe Win32_OperatingSystem. Você pode selecionar explicitamente as propriedades a serem exibidas da seguinte forma:
Get-CimInstance -ClassName Win32_OperatingSystem |
Select-Object -Property NumberOfLicensedUsers, NumberOfUsers, RegisteredUser
Uma versão mais sucinta usando curingas é:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*
Obter espaço disponível em disco
Para ver o espaço em disco e o espaço livre para unidades locais, você pode usar a classe Win32_LogicalDisk . Você precisa ver apenas instâncias com um DriveType de 3, o valor que o WMI usa para discos rígidos fixos.
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
Obtendo informações de sessão de logon
Você pode obter informações gerais sobre sessões de logon associadas a usuários por meio da classe WMI Win32_LogonSession :
Get-CimInstance -ClassName Win32_LogonSession
Fazer com que o utilizador tenha sessão iniciada num computador
Você pode exibir o usuário conectado a um determinado sistema de computador usando Win32_ComputerSystem. Este comando retorna apenas o usuário conectado à área de trabalho do sistema:
Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
Obter a hora local a partir de um computador
Você pode recuperar a hora local atual em um computador específico usando a classe WMI Win32_LocalTime .
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 :
Exibindo o status do serviço
Para exibir o status de todos os serviços em um computador específico, você pode usar localmente o Get-Service
cmdlet. Para sistemas remotos, você pode usar a classe WMI Win32_Service . Se você também usar Select-Object
para filtrar os resultados para Status, Name e DisplayName, o formato de saída será quase idêntico ao de Get-Service
:
Get-CimInstance -ClassName Win32_Service |
Select-Object -Property Status,Name,DisplayName
Para permitir a exibição completa de nomes para serviços com nomes longos, use os parâmetros AutoSize e Wrap do Format-Table
. Esses parâmetros otimizam a largura da coluna e permitem que nomes longos sejam quebrados em vez de truncados:
Get-CimInstance -ClassName Win32_Service |
Format-Table -Property Status, Name, DisplayName -AutoSize -Wrap
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários