サービスの一覧を任意の条件で取得する

スポンサーリンク

はじめに

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