[ホーム] -
[Windows 11 サービス一覧] - [Diagnostic Policy Service]
【目次】
サービス名 | DPS |
表示名 | Diagnostic Policy Service |
dll / exe 名 | C:\WINDOWS\System32\svchost.exe -k LocalServiceNoNetwork -p |
説明 (マイクロソフト情報より引用) | 診断ポリシー サービスを使用すると、Windows コンポーネントの問題を検出、トラブルシューティング、および解決できます。このサービスを停止すると、診断は実行されません。 |
セキュアPC上の起動必要性 | × |
◎起動を強く推奨、○起動を推奨、△環境による、×停止を推奨、××停止を強く推奨
Diagnostic Policy Service サービスの開始の種類は 無効 から 自動的な開始 に変更されました。
実験結果からすると管理者権限なら「Diagnostic Policy Service 」が動作していれば他の「Diagnostic Execution Service」「Diagnostic Service Host 」「Diagnostic System Host 」が停止していてもトラブルシューティングは可能でした。
サービスの起動方法を変更する
サービスの起動方法を変更にする方法を紹介します。サービス管理ツール(services.msc) で設定します。Windows 11 の画面で説明します。(1)スタートメニューから[管理ツール] - [サービス]を選択します。
(2)以下の画面が表示されるため、"Diagnostic Policy Service"をダブルクリックします。
(3)「スタートアップの種類」から起動のタイプを設定します。設定が完了したら[OK]をクリックします。
各起動設定の内容は以下の通りです。
自動(延滞開始)・・・・・他の自動起動サービスが全て起動されてから起動されます。
自動・・・・・Windows 起動時に自動で起動されます。
手動・・・・・自動では起動されませんが、手動あるいは他のサービスなどから起動することが可能です。
無効・・・・・自動起動されません。手動でも起動できません。
自動(トリガー)・・・・・Windows 起動時に自動起動されますが、役目が終了したら自動的に停止します。
手動(トリガー)・・・・・他のサービスなどから起動されますが、役目が終了したら自動的に停止します。
sc コマンドでサービスを設定する
次にsc コマンドでコマンドプロンプトより設定する方法を紹介します。(1)管理者でコマンドプロンプトを開きます。
(2)以下のコマンドを実行します。
自動起動設定
C:\>sc config DPS Start= auto
【注意】Powershellで実行すると、sc がコマンドレットである set-contentとバッティングしエラーとなるので注意してください。C:\WINDOWS\system32\sc.exe などフルパスで指定するなどの工夫が必要です。
手動
無効C:\>sc config DPS Start= demand
自動(延滞開始)C:\>sc config DPS Start= disabled
sc コマンドで以下のようなエラーが発生する場合はコマンドプロンプトを管理者として実行してください。C:\>sc config DPS Start= delayed-auto
C:\>sc stop ServiceName
[SC] OpenService FAILED 5:
アクセスが拒否されました。サービスを手動開始する
サービスを手動で開始する方法を紹介します。sc コマンドにより起動します。
他の方法として net コマンドでも開始させることが可能です。C:\>sc start DPS
C:\>net start DPS
サービスを手動で停止する
サービスを手動で停止する方法を紹介します。sc コマンドにより停止します。
他の方法として net コマンドでも停止させることが可能です。C:\>sc stop DPS
C:\>net stop DPS
サービスの設定を確認する
sc コマンドを利用してサービスの設定を確認する方法を紹介します。
sc コマンドを利用してサービスの起動設定(自動、手動、無効など)を確認することが可能です。c:\>sc queryex DPS SERVICE_NAME: DPS TYPE : 30 WIN32 STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 PID : 4044 FLAGS :
c:\>sc qc DPS [SC] QueryServiceConfig SUCCESS SERVICE_NAME: DPS TYPE : 20 WIN32_SHARE_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : C:\WINDOWS\System32\svchost.exe -k LocalServiceNoNetwork -p LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : Diagnostic Policy Service DEPENDENCIES : SERVICE_START_NAME : NT AUTHORITY\LocalServiceサービスが起動中か確認する
net start コマンドを利用してサービスが起動中か確認することが可能です。findstr の 戻り値 (ERRORLEVEL)で結果の判定が可能です。
サービス起動中なら文字列が存在するはずなので findstr で検索しています。
c:\>net start | findstr -i /c:"Diagnostic Policy Service" Diagnostic Policy Service c:\>rem 0で実行中、その他は1、findstr失敗は2 c:\>rem if %ERRORLEVEL% == 0 echo 起動中 c:\>rem if %ERRORLEVEL% == 1 echo 停止中 c:\>rem if %ERRORLEVEL% == 2 echo 不明 起動中sc コマンドを利用してサービスが起動中か確認することが可能です。findstr の 戻り値 (ERRORLEVEL)で結果の判定が可能です。
サービス起動中なら"Status"が"Running" であるためfindstr で検索します。
c:\>sc query DPS | findstr -i State | findstr -i Running STATE : 4 RUNNING c:\>rem 0で実行中、その他は1、findstr失敗は2 c:\>rem if %ERRORLEVEL% == 0 echo 起動中 c:\>rem if %ERRORLEVEL% == 1 echo 停止中 c:\>rem if %ERRORLEVEL% == 2 echo 不明 起動中レジストリからサービスの設定を確認する
レジストリから reg コマンドでサービスの設定を確認する方法を紹介します。サービスの設定はレジストリに保存されています。その値を確認します。
c:\>reg query HKLM\System\CurrentControlSet\services\DPS | findstr -i "group ObjectName DependOnService ErrorControl RequiredPrivileges ServiceSidType" ErrorControl REG_DWORD 0x1 ObjectName REG_SZ NT AUTHORITY\LocalService RequiredPrivileges REG_MULTI_SZ SeChangeNotifyPrivilege\0SeCreateGlobalPrivilege\0SeAssignPrimaryTokenPrivilege\0SeImpersonatePrivilege ServiceSidType REG_DWORD 0x3[ホーム] - [Windows 11 サービス一覧]
(ご注意)本ページの内容の正当性は保障されません。内容に誤りがある場合も有ります。 本ページの情報は高セキュリティを目指すPCで起動すべきサービスの指針を示していますが、環境に依存するためすべての環境に当てはまることは保障しません。 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)
Copyright(c) TOOLJP.COM 1999-2023