2011年7月1日金曜日

◆サービスのログオンアカウントを取得、抽出

Get-Serviceコマンドレットではログオンアカウントが拾えないっぽい。
そこで、WMIオブジェクト(Win32_Service)を使って取得する。

PS>gwmi win32_service | select name,startname | group startname

Count Name                      Group
----- ----                      -----
   94 localSystem               {@{name=AeLookupSvc; startname=
   52 NT AUTHORITY\LocalService {@{name=ALG; startname=NT AUTHO
   28 NT AUTHORITY\NetworkSe... {@{name=aspnet_state; startname


PS>

 

抽出するにはFilterを掛けてあげれば良い。

PS>gwmi Win32_Service -Filter "startname='LocalSystem'" | select -First 3


ExitCode  : 0
Name      : AeLookupSvc
ProcessId : 364
StartMode : Manual
State     : Running
Status    : OK

ExitCode  : 0
Name      : AppHostSvc
ProcessId : 1364
StartMode : Auto
State     : Running
Status    : OK

ExitCode  : 1077
Name      : Appinfo
ProcessId : 0
StartMode : Manual
State     : Stopped
Status    : OK

抽出文字列に\がある場合はエスケープが必要なようなので注意が必要だ。

PS>gwmi Win32_Service -Filter "startname='NT AUTHORITY\\LocalService'"


ExitCode  : 1077
Name      : ALG
ProcessId : 0
StartMode : Manual
State     : Stopped
Status    : OK

ExitCode  : 1077
Name      : AppIDSvc
ProcessId : 0
StartMode : Manual
State     : Stopped
Status    : OK

0 件のコメント:

コメントを投稿