Это должно быть довольно просто, основываясь на руководстве здесь
По сути, если вы хотите сделать запрос с помощью Powershell, чтобы получить эти конкретные классы WMI, вы хотите запросить их следующим образом:
«Если вы уже знаете имя класса WMI, вы можете использовать его для немедленного получения информации. Например, одним из классов WMI, обычно используемых для получения информации о компьютере, является Win32_OperatingSystem.
PS> Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName .
SystemDirectory : C:\WINDOWS\system32
Organization : Global Network Solutions
BuildNumber : 2600
RegisteredUser : Oliver W. Jones
SerialNumber : 12345-678-9012345-67890
Version : 5.1.2600
Хотя мы показываем все параметры, команду можно выразить более кратко. Параметр ComputerName не требуется при подключении к локальной системе. Мы показываем его, чтобы продемонстрировать наиболее общий случай и напомнить вам о параметре. Пространство имен по умолчанию имеет значение root/cimv2 и может быть опущено. Наконец, большинство командлетов позволяют опускать имена общих параметров. При использовании командлета Get-WmiObject, если для первого параметра не указано имя, Windows PowerShell рассматривает его как параметр класса. Это означает, что последнюю команду можно было ввести, набрав:
Get-WmiObject Win32_OperatingSystem
Класс Win32_OperatingSystem имеет гораздо больше свойств, чем показано здесь. Вы можете использовать Get-Member, чтобы увидеть все свойства. Свойства класса WMI автоматически доступны, как и другие свойства объекта:
PS> Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName . | Get-Member -MemberType Property
TypeName: System.Management.ManagementObject#root\cimv2\Win32_OperatingSyste
m
Name MemberType Definition
---- ---------- ----------
__CLASS Property System.String __CLASS {...
...
BootDevice Property System.String BootDevic...
BuildNumber Property System.String BuildNumb...
...
"
Кроме того, при получении деталей:
«Если вам нужна информация, содержащаяся в классе Win32_OperatingSystem, которая не отображается по умолчанию, вы можете отобразить ее с помощью командлетов Format. Например, если вы хотите отобразить данные о доступной памяти, введите:
PS> Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName . | Format-Table -Property TotalVirtualMemorySize,TotalVisibleMemorySize,FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles
TotalVirtualMemorySize TotalVisibleMem FreePhysicalMem FreeVirtualMemo FreeSpaceInPagi
ory ry ngFiles
--------------- --------------- --------------- --------------- ---------------
2097024 785904 305808 2056724 1558232
Примечание
Подстановочные знаки работают с именами свойств в Format-Table, поэтому конечный элемент конвейера можно сократить до Format-Table -Property TotalV*,Free*. Данные памяти могут быть более читабельными, если вы отформатируете их как список, набрав:
PS> Get-WmiObject -Class Win32_OperatingSystem -Namespace root/cimv2 -ComputerName . | Format-List TotalVirtualMemorySize,TotalVisibleMemorySize,FreePhysicalMemory,FreeVirtualMemory,FreeSpaceInPagingFiles
TotalVirtualMemorySize : 2097024
TotalVisibleMemorySize : 785904
FreePhysicalMemory : 301876
FreeVirtualMemory : 2056724
FreeSpaceInPagingFiles : 1556644
"
person
Community
schedule
22.05.2017