Вывод параметров рабочего стола
Для начала рассмотрим команду, собирающую сведения о рабочих столах локального компьютера.
Эта команда возвращает сведения обо всех рабочих столах, вне зависимости от их использования.
Get-CimInstance -ClassName Win32_Desktop
Так как имена большинства этих свойств метаданных начинаются с Cim, эти свойства можно отфильтровать с помощью Select-Object
. Укажите параметр -ExcludeProperty, используя «Cim*» как значение. Пример:
Get-CimInstance -ClassName Win32_Desktop | Select-Object -ExcludeProperty "CIM*"
Чтобы отфильтровать метаданные, используйте оператор конвейера (|) для отправки результатов команды Get-CimInstance
в Select-Object -ExcludeProperty "CIM*"
.
Вывод сведений о BIOS
Класс WMI Win32_BIOS возвращает довольно компактные и полные сведения о системной BIOS локального компьютера:
Get-CimInstance -ClassName Win32_BIOS
Вывод сведений о процессоре
Общие сведения о процессоре можно получить с помощью класса Win32_Processor инструментария WMI, но вам, скорее всего, потребуется отфильтровать полученные данные:
Get-CimInstance -ClassName Win32_Processor | Select-Object -ExcludeProperty "CIM*"
Чтобы получить общую строку описания семейства процессора, достаточно вернуть свойство SystemType:
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property SystemType SystemType ---------- X86-based PC
Вывод производителя и модели компьютера
Сведения о модели компьютера также доступны в Win32_ComputerSystem. Чтобы получить данные поставщика вычислительной техники (OEM), стандартные отображаемые выходные данные фильтровать не нужно:
Get-CimInstance -ClassName Win32_ComputerSystem
Name PrimaryOwnerName Domain TotalPhysicalMemory Model Manufacturer ---- ---------------- ------ ------------------- ----- ------------ MyPC Jane Doe WORKGROUP 804765696 DA243A-ABA 6415cl NA910 Compaq Presario 06
Выходные данные из команд, подобных показанной выше и возвращающих сведения напрямую от аппаратного обеспечения, не могут быть дополнены. Иногда сведения неверно сконфигурированы производителем оборудования и недоступны для запроса.
Вывод установленных исправлений
Список всех установленных исправлений можно получить с помощью Win32_QuickFixEngineering:
Get-CimInstance -ClassName Win32_QuickFixEngineering
Этот класс возвращает список исправлений в следующем виде:
Source Description HotFixID InstalledBy InstalledOn PSComputerName ------ ----------- -------- ----------- ----------- -------------- Security Update KB4048951 Administrator 12/16/2017 .
Для получения более кратких сведений нужно исключить некоторые свойства. Параметр Property в Get-CimInstance
позволяет выбрать только идентификаторы HotFixID, однако на самом деле возвращается больше данных, так как по умолчанию отображаются все метаданные:
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 ...
Дополнительные данные выводятся, так как параметр Property в Get-CimInstance
ограничивает свойства, возвращаемые из экземпляров класса WMI, но не объекты, возвращаемые оболочке PowerShell. Командлет Select-Object
позволяет сократить возвращаемые выходные данные:
Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId | Select-Object -Property HotFixId
Get-CimInstance -ClassName Win32_QuickFixEngineering -Property HotFixId | Select-Object -Property HotFixId
HotFixId -------- KB4048951
Вывод сведений о версии операционной среды
Свойства класса Win32_OperatingSystem включают сведения о версии операционной системы и пакета обновления. Эти свойства можно выбрать явным образом, чтобы получить сводные данные по версиям из Win32_OperatingSystem:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property BuildNumber,BuildType,OSType,ServicePackMajorVersion,ServicePackMinorVersion
С параметром Property в Select-Object
можно использовать подстановочные символы. Поскольку в рассматриваемом случае важны все свойства, имена которых начинаются с Build либо с ServicePack, указанную строку можно сократить:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property Build*,OSType,ServicePack*
BuildNumber : 18362 BuildType : Multiprocessor Free OSType : 18 ServicePackMajorVersion : 0 ServicePackMinorVersion : 0
Вывод локальных пользователей и владельца
Общие сведения о локальных пользователях — количество лицензированных пользователей, текущее число пользователей и имя владельца — можно получить, выбрав свойства класса Win32_OperatingSystem. Отображаемые свойства можно указать явным образом:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property NumberOfLicensedUsers,NumberOfUsers,RegisteredUser
В более сжатом варианте используются подстановочные символы:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *user*
Получение сведений о доступном месте на диске
Чтобы получить сведения о дисковом пространстве и свободном месте на локальных дисках, можно воспользоваться классом Win32_LogicalDisk инструментария WMI. Для просмотра следует выбрать только те экземпляры, у которых свойство DriveType принимает значение 3, так как именно оно используется инструментарием WMI для постоянных жестких дисков.
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
Получение сведений о сеансах входа в систему
Общие сведения о сеансах входа в систему, связанных с пользователями, можно получить через класс Win32_LogonSession инструментария WMI:
Get-CimInstance -ClassName Win32_LogonSession
Получение сведений о пользователе, выполнившем вход на компьютер
Имя пользователя, выполнившего вход на определенный компьютер, можно отобразить с помощью Win32_ComputerSystem. Приведенная ниже команда возвращает только пользователей, выполнивших вход на рабочий стол системы:
Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
Получение сведений о местном времени компьютера
Сведения о текущем местном времени определенного компьютера можно получить с помощью класса Win32_LocalTime инструментария WMI.
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 :
Отображение состояния службы
Для просмотра состояния всех служб на определенном компьютере можно локально воспользоваться командлетом Get-Service
. Для удаленных систем можно использовать класс Win32_Service инструментария WMI. Если использовать Select-Object
для фильтрования Status, Name и DisplayName, формат вывода будет идентичен формату вывода командлета Get-Service
:
Get-CimInstance -ClassName Win32_Service | Select-Object -Property Status,Name,DisplayName
Чтобы полностью отобразить службы с очень длинными именами, может потребоваться использовать командлет Format-Table
с параметрами AutoSize и Wrap, позволяющими оптимизировать ширину столбцов и переносить длинные имена на следующие строки вместо их усечения:
Get-CimInstance -ClassName Win32_Service | Format-Table -Property Status,Name,DisplayName -AutoSize -Wrap