PowerShell またはコマンド ラインを使用してすべての Windows サービスを一覧表示する方法

画面に表示される実行中のアプリケーションは、 Windows(Windows)で発生していることのほんの一部です。デバイス ドライバーの管理からセキュリティの確保まで、一連のバックグラウンド プロセスによってWindows PC の機能が維持されます。

複数のコンピュータを監視するシステム管理者にとって、これらの重要なサービスのステータスを表示できることは重要です。タスク マネージャー(Task Manager)のアプローチはこれには遅すぎるため、スクリプトを使用して自動化することはできません。

ソリューション?コマンドライン ツール。コマンド プロンプトまたは PowerShell(Command Prompt or PowerShell)を使用すると、システムで実行されている運用中のMicrosoftサービスをすばやく読み取ることができ、問題を迅速に診断するのに役立ちます。 

コマンド プロンプトでの(Command Prompt)Windows サービス(Services)の一覧表示

Windows PowerShellほど柔軟でも強力でもありませんが、コマンド プロンプト(the Command Prompt)はシステム管理者にとって優れたツールです。queryexコマンドを使用して、アクティブなサービスと無効なサービスの両方のステータスを取得してから、taskkill コマンドを使用して(use the taskkill command)厄介なプロセスを終了できます。

  1. queryex コマンドを使用するには、管理者(Administrator)としてコマンド プロンプト(Command Prompt)を実行します。スタート メニューで cmd を検索すると、アプリを見つけることができます。

  1. sc queryex コマンドの使用方法は多数あります。Type とStateは、最もよく使用される 2 つのパラメーターです。たとえば、次のコマンドを入力して、すべての  Windowsプロセスを表示します。

sc queryex type=service state=all

  1. デフォルトのビューは少し圧倒される可能性があります。リストを解析しやすくするために、プロセスの名前だけを表示できます。

sc queryex type=service state=all | find /i “SERVICE_NAME:”

  1. デフォルトでは、コマンドはすべてのアクティブなプロセスを一覧表示します。非アクティブなものを探すには、状態パラメーターを変更します。

sc queryex type=service state=inactive

  1. 特定のプロセスのステータスを名前で照会することもできます。システム管理者はバッチ ファイルを設定して一度に多くのプロセスをチェックできるため、これは非常に便利です。次に例を示します。

sc クエリ DeviceInstall(sc query DeviceInstall)

PowerShellでの(PowerShell)Windows サービス(Services)の一覧表示

PowerShellは、最新の(PowerShell)Windows専用のコマンド ライン シェルとなることを意図しています。そのため、コマンドを使用してほぼすべてのオペレーティング システム コンポーネントにアクセスできます。Windowsサービスも例外ではありません。

PowerShellの利点は、簡単に自動化できることです。すべてのPowerShellコマンドは複雑なスクリプトにコンパイルできるため、複数の PC で手間をかけずにシステム管理タスクをセットアップできます。

  1. まず、 (Start)PowerShellを開きます。スタートメニュー(Start Menu)で検索できます。昇格されたインスタンスを実行することを確認してください (つまり、管理者(Administrator)として)。

  1. PowerShellで(PowerShell)Windowsサービスを一覧表示する最も簡単なコマンドはGet-Serviceです。コンピューター上のすべてのサービスが、そのステータスと名前とともに表示されます。唯一の問題は、サービスのリストがかなり長くなる可能性があることです。

  1. Get-Serviceを使用する場合は、リストをテキスト ファイルにエクスポートすることをお勧めします。次のように、パイプを使用してこれを行うことができます。

Get-Service | Out-File “C:\logs\All_Services.txt”

  1. 特定のサービスの状態を調べるには、Get-Serviceコマンドの後にサービスの名前を指定します。名前をコンマで区切ることにより、複数のプロセスのステータスを要求できます。

Get-Service CryptSvc、COMSysApp

  1. パイプを使用してGet-ServiceコマンドレットをWhere-Object関数と組み合わせ、 (Where-Object)Statusで結果をフィルター処理することもできます。次のコマンドは、すべての実行中(Running)のサービスを取得することでこれを示しています。

Get-Service | Where-Object {$_.Status -EQ “Running”}

サービスの依存関係の確認

複雑なプロセスは、相互に依存する複数のサービスに分割されます。これが、特定のサービスのステータスを取得するだけでは不十分な場合が多い理由です。サービスが依存しているサービスのステータスも確認する必要があります。

  1. 特定のサービスに必要なサービスを表示するには、 Get-Serviceコマンドレットで-RequiredServicesフラグを使用します。次に例を示します。

Get-Service -Name CryptSvc –RequiredServices

  1. 同様に、特定のサービスに依存するサービスのリストを取得するには、-DependentServicesフラグを利用します。

Get-Service -Name CryptSvc -DependentServices

これら 2 つのフラグは、影響を受けるサービスに接続されているすべてのサービスを追跡する方法を提供するため、Windowsサービスを自動的に開始または停止するスクリプトを作成する際に重要です。

リモート(Remote)コンピューター上のWindows サービス(Services)の一覧表示

PowerShellメソッドは、ローカル コンピューターに限定されません。上記と同じ構文でGet-Serviceコマンドレットを使用して、リモート PC のプロセスを照会することもできます。最後に -ComputerName(-ComputerName)フラグ(Just)を追加して、情報を取得するリモート コンピューターを指定します。 

次に例を示します。

get-service CryptSvc -ComputerName Workstation7

PowerShellでの(PowerShell)Windows サービス(Services)の管理

Windows PowerShellでできることは、サービスの状態を取得することだけではありません。本格的なスクリプト環境として、すべてのGUIオプションに代替スクリプトを提供します。 

Powershellコマンドレットは、サービスを停止、開始、再起動、または変更することさえできます。自動化されたGet-Serviceコマンドと組み合わせることで、PowerShellスクリプトを記述して、日常のシステム管理タスクを完全に自動化できます。

  1. サービスのステータスを照会するだけでなく、PowerShellを使用してサービスを管理することもできます。サービスの開始または停止は、サービスの名前のみを必要とする 1 つのコマンドで実行できます。たとえば、これはサービスを停止する方法です。

Stop-Service -Name Spooler

  1. サービスの開始も同様です。

Start-Service -Name Spooler

  1. サービスが正しく機能していない場合は、再起動することもできます。

Restart-Service -Name Spooler

  1. サービスのプロパティを変更するために使用できるSet-Serviceコマンドレットもあります。ここでは、Print Spoolerサービスの自動起動を無効にします。

Set-Service 'Spooler' -StartupType 無効(Set-Service ‘Spooler’ -StartupType Disabled)

Windowsサービスを(Services)リスト(List Windows) する最良の方法は何ですか?

Windows 10またはWindows Serverを実行しているかどうかに関係なく、すべてのWindowsサービスのリストを表示できると便利です。重要なシステム機能の問題を診断したり、不要な Microsoft サービスを停止してパフォーマンスを向上させたりできます。

この目的には、PowerShellが最適なオプションです。コマンド プロンプト(Command Prompt)でサービス リストを取得できますが、 PowerShellが提供する追加機能の方が便利です。

PowerShellコマンドレットを使用して、 Windowsプロセスのサービス ステータスを取得し、ステータスやその他のパラメーターでフィルター処理できます。また、依存するサービスを特定し、必要に応じて開始または停止することも簡単です。



About the author

私は強く推奨される Windows 10 の専門家であり、コンピューターの外観をパーソナライズし、Office ツールをより使いやすくすることを専門としています。オンライン印刷用にテキストやグラフィックスをフォーマットする方法、Outlook 用のカスタム テーマを作成する方法、さらにはデスクトップのタスク バーの外観をカスタマイズする方法など、Microsoft Office で作業する最も効果的な方法を他のユーザーが見つけられるように、自分のスキルを使用しています。コンピューター。



Related posts