はじめに
PowerShellのコマンドレット「get-service」を使用してサービスの情報を取得します。
環境
- Windows Server 2019 Datacenter Evaluation
- Windows Server 2016 Datacenter Evaluation
- Windows Server 2012 R2 Datacenter
- Windows Server 2008 R2 Datacenter
- Windows Server 2003 Standard Edition SP2
- Windows 10 Enterprise Evaluation
各サーバとクライアントはドメインに参加しており、Windows10から各種コマンドを操作するものとします。
サービスの一覧を取得
Windows10のPCからWindows Server 2019のサーバに対して操作を実施します。サービスの一覧を任意の条件で取得します。
なお、結果はさまざまな形式で出力できますので任意に選択して下さい。
・クリップボードにコピー:Clip 例)Get-Service | clip
・CSVで出力:Export-CSV c:\temp\service.csv -encoding Defaultなど。
・GUIの表形式に出力:Out-GridView
ドメイン環境
サービスの一覧を取得
get-service -ComputerName "ホスト名(IPアドレス)"
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
Stopped AppIDSvc Application Identity
~
Stopped wuauserv Windows Update
サービス名で検索
get-service -ComputerName "ホスト名(IPアドレス)" "Term*"
Status Name DisplayName
------ ---- -----------
Running TermService Remote Desktop Services
表示名で検索
get-service -ComputerName "ホスト名(IPアドレス)" -Display "Remote*"
Status Name DisplayName
------ ---- -----------
Stopped RasAuto Remote Access Auto Connection Manager
Stopped RasMan Remote Access Connection Manager
Stopped RemoteRegistry Remote Registry
Stopped RpcLocator Remote Procedure Call (RPC) Locator
Running RpcSs Remote Procedure Call (RPC)
Running SessionEnv Remote Desktop Configuration
Running TermService Remote Desktop Services
Running UmRdpService Remote Desktop Services UserMode Po...
スタートアップの種類とステータスで検索
スタートアップの種類が「自動」で、ステータスが「停止」しているサービスを取得します。
get-service -ComputerName "ホスト名(IPアドレス)" | where {$_.StartType -eq "Automatic" -and $_.Status -ne "Running"}
Status Name DisplayName
------ ---- -----------
Stopped gupdate Google Update サービス (gupdate)
Stopped MapsBroker Downloaded Maps Manager
Stopped RemoteRegistry Remote Registry
Stopped sppsvc Software Protection
スタートアップの種類を降順でソートしグルーピングする
get-service -ComputerName "ホスト名(IPアドレス)" | sort starttype | Format-Table -AutoSize -GroupBy starttype
StartType: Automatic
Status Name DisplayName
------ ---- -----------
Running Power Power
Running IKEEXT IKE and AuthIP IPsec Keying Modules
Running Themes Themes
~
Running WpnService Windows プッシュ通知システム サービス
StartType: Manual
Status Name DisplayName
------ ---- -----------
Running SessionEnv Remote Desktop Configuration
Stopped SgrmBroker System Guard ランタイム モニター ブローカー
Stopped smphost Microsoft Storage Spaces SMP
~
Stopped Audiosrv Windows Audio
StartType: Disabled
Status Name DisplayName
------ ---- -----------
Stopped AppVClient Microsoft App-V Client
Stopped UevAgentService ユーザー エクスペリエンス仮想化サービス
Stopped upnphost UPnP Device Host
Stopped tzautoupdate タイム ゾーンの自動更新機能
Stopped ssh-agent OpenSSH Authentication Agent
Stopped SSDPSRV SSDP Discovery
Stopped shpamsvc Shared PC Account Manager
Stopped NetTcpPortSharing Net.Tcp Port Sharing Service
Stopped WSearch Windows Search
Stopped CscService Offline Files
Stopped RemoteAccess Routing and Remote Access
複数のサーバから表示名で検索
表示名が「per」から始まるサービスを検索、ただし「performance Logs & Alerts」は除外します。
get-service -ComputerName "ホスト名1(IPアドレス1)", "ホスト名2(IPアドレス2)" -Display "per*" -Exclude "performance Logs & Alerts"
Status Name DisplayName
------ ---- -----------
Stopped PerfHost Performance Counter DLL Host
Stopped PerfHost Performance Counter DLL Host