potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

PowerShell 7 短いCMI(WMI v2)サンプルコード集

PowerShell 7でCMI(WMI v2)を使う短いサンプルコード集です。

WindowsのOS情報を取得する

#テーブル形式(横並び)
Get-CimInstance Win32_OperatingSystem
#Get-CimInstance Win32_OperatingSystem | Format-Table
#リスト形式(縦並び)
Get-CimInstance Win32_OperatingSystem | Format-List
<#
SystemDirectory : C:\WINDOWS\system32
Organization    : <...>
BuildNumber     : 18363
RegisteredUser  : <...>
SerialNumber    : <...>
Version         : 10.0.18363
#>

WindowsのOS情報から個別情報を取得する

$osinfo = (Get-CimInstance Win32_OperatingSystem)
$osinfo.SystemDirectory
$osinfo.Organization
$osinfo.BuildNumber
$osinfo.RegisteredUser
$osinfo.SerialNumber
$osinfo.Version
<# <...>は省略部分
C:\WINDOWS\system32
<...>
18363
<...>
<...>
10.0.18363
#>

WindowsBIOS情報を取得する

Get-CimInstance Win32_BIOS
<# <...>は省略部分
SMBIOSBIOSVersion : <...>
Manufacturer      : <...>
Name              : <...>
SerialNumber      : <...>
Version           : <...>
#>

USBコントローラーデバイス一覧を取得する

Get-CimInstance Win32_USBControllerDevice

#最初だけ表示
(Get-CimInstance Win32_USBControllerDevice)[0]
<# <...>は省略部分
Antecedent          : Win32_USBController (DeviceID = <...>)
Dependent           : Win32_PnPEntity (DeviceID = <...>)
NegotiatedDataWidth :
NegotiatedSpeed     :
AccessState         :
NumberOfHardResets  :
NumberOfSoftResets  :
PSComputerName      :
#>

マウスやトラックパッドなどのポインティングデバイスの一覧を取得する

Get-CimInstance Win32_PointingDevice

#最初だけ表示
(Get-CimInstance Win32_PointingDevice)[0]
<#
Caption                     : USB 入力デバイス
Description                 : USB 入力デバイス
InstallDate                 :
Name                        : USB 入力デバイス
Status                      : OK
Availability                :
ConfigManagerErrorCode      : 0
ConfigManagerUserConfig     : False
CreationClassName           : Win32_PointingDevice
DeviceID                    : USB\<...>
ErrorCleared                :
ErrorDescription            :
LastErrorCode               :
PNPDeviceID                 : USB\<...>
PowerManagementCapabilities :
PowerManagementSupported    : False
StatusInfo                  :
SystemCreationClassName     : Win32_ComputerSystem
SystemName                  : <...>
IsLocked                    :
Handedness                  : 
NumberOfButtons             : 0
PointingType                : 2
Resolution                  :
DeviceInterface             : 162
DoubleSpeedThreshold        :
HardwareType                : USB 入力デバイス
InfFileName                 : input.inf
InfSection                  : HID_Inst.NT
Manufacturer                : (標準システム デバイス)
QuadSpeedThreshold          :
SampleRate                  :
Synch                       :
PSComputerName              : 
#>
#キャプションと説明のみ取得
Get-CimInstance Win32_PointingDevice | Select caption, description

#最初だけ表示
(Get-CimInstance Win32_PointingDevice | Select caption, description)[0]
<#
caption    description
-------    -----------
USB 入力デバイス USB 入力デバイス
#>

キーボードの一覧を取得する

Get-CimInstance Win32_Keyboard

#最初だけ表示
(Get-CimInstance Win32_Keyboard)[0]
<#
Caption                     : 日本語
Description                 : 標準 PS/2 キーボード
InstallDate                 :
Name                        : 日本語
Status                      : OK
Availability                : 
ConfigManagerErrorCode      : 0
ConfigManagerUserConfig     : False
CreationClassName           : Win32_Keyboard
DeviceID                    : ACPI\<...>
ErrorCleared                : 
ErrorDescription            : 
LastErrorCode               :
PNPDeviceID                 : ACPI\<...>
PowerManagementCapabilities : 
PowerManagementSupported    : False
StatusInfo                  :
SystemCreationClassName     : Win32_ComputerSystem
SystemName                  : <...>
IsLocked                    :
Layout                      : 00000411
NumberOfFunctionKeys        : 12
Password                    : 
PSComputerName              :
#>
#キャプションと説明のみ取得
Get-CimInstance Win32_Keyboard | Select caption, description

#最初だけ表示
(Get-CimInstance Win32_Keyboard | Select caption, description)[0]
<#
caption description
------- -----------
日本語     標準 PS/2 キーボード
#>