Get WmiObject - yokohama/oreshic-record GitHub Wiki
Get-WmiObject Win32_Service で Windows サービスの詳細情報を取得する。
Select Name, StartName, PathName を指定することで、
サービス名・実行アカウント・実行ファイルパスを確認できる。
サービス実行ユーザーやバイナリパスの確認に使用する。
Get-WmiObject Win32_Service | Select Name, StartName, PathName{none}
Win32_Service の PathName に空白を含み、かつクォートされていないパスを検索する。
正規表現 ^[^"]*?\s[^*]*?\.exe\b を使用して、
ダブルクォートで囲まれていない実行パスを抽出する。
空白を含む未クォートパスは、特定条件下で意図しない実行ファイルが優先される可能性があるため確認対象となる。
Get-WmiObject Win32_Service | Where-Object { $_.PathName -match '^[^"]*?\s[^*]*?\.exe\b' } | Select Name, PathNamename pathname
---- --------
AWSLiteAgent C:\Program Files\Amazon\XenTools\LiteAgent.exe
unquotedsvc C:\Program Files\Unquoted Path Service\Common Files\unquotedpathservice.exe{none}