PowerShell でカーネルドライバーの状態を調査する方法 (ja-JP)

PowerShell 2.0 では、Get-Service コマンドレットを利用することでカーネルモードドライバーの調査ができます。

PS C:\ get-service http | fl *

Name                : HTTP
RequiredServices    : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
DisplayName         : http
DependentServices   : {WinRM, Wecsvc, upnphost, SSDPSRV...}
MachineName         : .
ServiceName         : HTTP
ServicesDependedOn  : {}
ServiceHandle       :
Status              : Running
ServiceType         : KernelDriver
Site                :
Container           :

ただ、PowerShell 1.0 では同様のコマンドは動作しません。

PS C:\ get-service http | fl *
Get-Service : サービス名 'http' のサービスが見つかりません。
発生場所 行:1 文字:12

  • get-service  <<<< http

しかし、.NET Framework のクラスを代用することで、少なくとも PowerShell 1.0 が動作してさえいれば、PowerShell 1.0 と PowerShell 2.0 のどちらであっても、次のコマンドがおそらく動作するでしょう。

PS C:\ [System.ServiceProcess.ServiceController]::GetDevices() | where-object {$_.name -eq "http"} | fl *


他の言語