画面に表示される実行中のアプリケーションは、Windowsで発生していることのほんの一部です。 デバイスドライバーの管理からセキュリティの確保まで、一連のバックグラウンドプロセスが機能するWindowsPCを維持します。
複数のコンピューターを監視しているシステム管理者にとって、これらの重要なサービスのステータスを表示できることが重要です。 タスクマネージャーのアプローチはこれには遅すぎるため、スクリプトを使用して自動化することはできません。
目次
ソリューション? コマンドラインツール。 を使用して コマンドプロンプトまたはPowerShell、システムで実行されている運用中のMicrosoftサービスをすばやく読み取ることができ、問題を迅速に診断するのに役立ちます。
![](/f/d0aa6ca04e38af6b7d66d17cd32a2ad9.jpeg)
コマンドプロンプトでのWindowsサービスの一覧表示
Windows PowerShellほど柔軟でも強力でもありませんが、 コマンドプロンプト システム管理者にとっては依然として優れたツールです。 あなたは使用することができます queryex アクティブなサービスと無効なサービスの両方のステータスを取得してから、 taskkillコマンドを使用します 厄介なプロセスを終了します。
- queryexコマンドを使用するには、管理者としてコマンドプロンプトを実行します。 スタートメニューでcmdを検索すると、アプリを見つけることができます。
![](/f/5c97dab0b40bfdf221ac7303e0f31942.jpg)
- scqueryexコマンドを使用する方法はたくさんあります。 タイプと状態は、最も一般的に使用される2つのパラメーターです。 たとえば、次のコマンドを入力して、すべてのWindowsプロセスを表示します。
sc queryex type = service state = all
![](/f/a3dfd34db130da298ca058444e925f3c.jpg)
- デフォルトのビューは少し圧倒される可能性があります。 プロセスの名前だけを表示して、リストを解析しやすくすることができます。
sc queryex type = service state = all | / i「SERVICE_NAME:」を検索します
![](/f/f2e49c98db81ee826bf13963e8d25a73.png)
- デフォルトでは、コマンドはすべてのアクティブなプロセスを一覧表示します。 非アクティブなものを探すには、stateパラメーターを変更します。
sc queryex type = service state = inactive
![](/f/cd0c4f696435863ee2e5af103306b3f3.jpg)
- 特定のプロセスのステータスをその名前で照会することもできます。 これは、システム管理者が一度に多くのプロセスをチェックするようにバッチファイルを設定できるため、非常に便利です。 次に例を示します。
scクエリDeviceInstall
![](/f/e5adc28bcb47a8e7208de1e70ee23e27.png)
PowerShellでのWindowsサービスの一覧表示
パワーシェル 最新のWindows専用のコマンドラインシェルとなることを目的としています。 そのため、コマンドを介してほぼすべてのオペレーティングシステムコンポーネントにアクセスでき、Windowsサービスも例外ではありません。
PowerShellの利点は、簡単に自動化できることです。 すべてのPowerShellコマンドは複雑なスクリプトにコンパイルできるため、手間をかけずに複数のPCでシステム管理タスクを設定できます。
- PowerShellを開くことから始めます。 スタートメニューで検索できます。 必ず昇格されたインスタンスを実行してください(つまり、管理者として)。
![](/f/f04b1a38a3867592cf35fd0c18c33a95.jpg)
- PowerShellでWindowsサービスを一覧表示するための最も簡単なコマンドは次のとおりです。 Get-Service. コンピュータ上のすべてのサービスが、ステータスと名前とともに表示されます。 唯一の問題は、サービスのリストがかなり長くなる可能性があることです。
![](/f/226cae9ad7a9bd37ec2c2c39886f07ff.png)
- 使用する場合 Get-Service、リストをテキストファイルにエクスポートすることをお勧めします。 次のように、パイプを使用してこれを行うことができます。
Get-Service | アウトファイル「C:\ logs\All_Services.txt」
![](/f/2ae6ce23c9ed99bd996ae0a7e7c74dbe.png)
- 特定のサービスのステータスを検索するには、次の手順に従います。 Get-Service サービスの名前を指定したコマンド。 名前をコンマで区切ることにより、複数のプロセスのステータスを要求できます。
Get-Service CryptSvc、COMSysApp
![](/f/a85b029ab4a375d5536134a1f7d59b1a.png)
- パイプを使用して、 Get-Service コマンドレットと Where-Object 関数を作成し、ステータスで結果をフィルタリングします。 次のコマンドは、実行中のすべてのサービスを取得することでこれを示しています。
Get-Service | Where-Object {$_。Status-EQ“ Running”}
![](/f/c78d26af9a6afcbaaff926c9aa9000b0.png)
サービスの依存関係の確認
複雑なプロセスは、相互に依存する複数のサービスに分割されます。 これが、特定のサービスのステータスを取得するだけでは不十分な場合が多い理由です。 また、サービスが依存しているサービスのステータスを確認する必要があります。
- 特定のサービスに必要なサービスを表示するには、 -RequiredServices フラグ Get-Service コマンドレット。 次に例を示します。
Get-Service -Name CryptSvc –RequiredServices
![](/f/1b324a4b54cf8136151f25e5cdfdd832.png)
- 同様に、特定のサービスに依存するサービスのリストを取得するには、 -DependentServices 国旗。
Get-Service -Name CryptSvc -DependentServices
![](/f/fe15a8cdafa940c2b8e4a795d8556b60.png)
これらの2つのフラグは、影響を受けるサービスに接続されているすべてのサービスを追跡する方法を提供するため、Windowsサービスを自動的に開始または停止するスクリプトを作成する上で重要です。
リモートコンピューター上のWindowsサービスの一覧表示
PowerShellの方法は、ローカルコンピューターに限定されません。 上記と同じ構文でGet-Serviceコマンドレットを使用して、リモートPCのプロセスを照会することもできます。 を追加するだけです -コンピュータネーム 最後にフラグを立てて、情報を取得するリモートコンピューターを指定します。
次に例を示します。
get-service CryptSvc -ComputerName Workstation7
PowerShellでのWindowsサービスの管理
Windows PowerShellで実行できるのは、サービスのステータスを取得することだけではありません。 本格的なスクリプト環境として、すべてのGUIオプションに代わるスクリプトを提供します。
Powershellコマンドレットは、サービスを停止、開始、再起動、さらには変更することができます。 自動化されたとペアになります Get-Service コマンド、PowerShellスクリプトを記述して、日常のシステム管理タスクを完全に自動化できます。
- サービスのステータスをクエリするだけでなく、PowerShellを使用してサービスを管理することもできます。 サービスの開始または停止は、サービスの名前のみを必要とする単一のコマンドで実行できます。 たとえば、次のようにしてサービスを停止できます。
Stop-Service -Name Spooler
![](/f/a2e59dc8d350d2ceb0465b03cf16a0c2.png)
- サービスの開始も同様です。
Start-Service -Name Spooler
![](/f/64a7700028fa74427fc5476dff516a31.png)
- サービスが正しく機能していない場合は、サービスを再起動することもできます。
リスタート-サービス-名前スプーラー
![](/f/401274ec7c8097c526ad9f71629f1965.png)
- サービスのプロパティを変更するために使用できるSet-Serviceコマンドレットもあります。 ここでは、PrintSpoolerサービスの自動起動を無効にします。
Set-Service‘Spooler’ -StartupType Disabled
![](/f/804ba12790d868ee56072f68f2913f48.png)
Windowsサービスを一覧表示する最良の方法は何ですか?
Windows10またはWindowsServerのどちらを実行している場合でも、すべてのWindowsサービスのリストを表示できると便利です。 重要なシステム機能の問題を診断するか、 不要なMicrosoftサービスを停止する パフォーマンスを向上させるため。
この目的には、PowerShellが最適なオプションです。 コマンドプロンプトでサービスリストを取得できますが、PowerShellが提供する追加機能の方が便利です。
PowerShellコマンドレットを使用して、Windowsプロセスのサービスステータスを取得し、ステータスまたはその他のパラメーターでフィルター処理できます。 また、依存するサービスを特定し、必要に応じてそれらを開始または停止することも簡単です。
ヘルプデスクオタクへようこそ-信頼できる技術専門家からの技術的なヒントが満載のブログ。 問題のトラブルシューティングに役立つ何千もの記事とガイドがあります。 私たちの記事は、2008年の立ち上げ以来、1億5000万回以上読まれています。
ヘルプデスクオタクを購読します。
毎日のヒント、トリック、ショートカットが受信トレイに直接配信される30,000人以上の人に加わってください。
私たちは決してあなたにスパムを送りません、いつでも退会します。