Windows10のイベントビューアーでイベントログを確認すると、「Peer Name Resolution Protocol(ピア名解決プロトコル)」サービスの開始/終了エラーが発生していることがあります。
また、サービスウィンドウからこのサービスを手動で開始しようとしても、エラーが発生して開始できない場合があります。
本記事では、Windows10でPeer Name Resolution Protocolサービスの概要とエラーで動作しない時の対処方法について紹介します。
この記事の内容
Peer Name Resolution Protocolとは
Peer Name Resolution Protocol(ピア名解決プロトコル)とは、Windowsで標準実装されているサーバーとの通信を行わずにインターネット経由でピア名を解決できるプロトコルのことです。
このプロトコルは、リモートアシスタンスなどの一部のP2P機能を使用するアプリケーションで使用されます。
この機能を提供するPeer Name Resolution Protocolサービス(PNRPsvc)に問題が起きたり、サービスの開始に失敗すると、Windowsのイベントログに以下のエラーが記録されます。
- Peer Name Resolution Protocolサービスは、次のエラーで終了しました:%%-2140993535
- Peer Networking Groupingサービスは、次のエラーが原因で開始できなかった、Peer Name Resolution Protocolサービスに依存しています:%%-2140993535
- 既定のIDを作成できなかったため (エラー コード 0x80630801)、Peer Name Resolution Protocol クラウドを開始できませんでした。
上記のエラーが記録された場合は、次の対処方法を行なってPeer Name Resolution Protocolサービスの問題が解決しないか試してみてください。
対処1: idstore.sstを削除する
Peer Name Resolution Protocolの関連ファイルである「idstore.sst」が破損していることが原因で、サービス開始時にエラーが発生しているケースが考えらます。
そのため、idstore.sstを削除することで、サービスが正常に開始できる可能性があります。idstore.sstを削除するには、次の手順で操作してください。
- 「Windowsマーク」を右クリックして「Windows PowerShell(管理者)」を選択します。
- PowerShellが起動したら、以下のコマンドを入力してEnterキーで実行します。
Net stop p2pimsvc /y
- コマンドが実行できたら、ウィンドウを閉じます。
- エクスプローラを起動して、アドレスバーに以下のディレクトリパスを入力してEnterキーを押します。
%Windir%\ServiceProfiles\LocalService\
- アクセス許可のダイアログが表示されたら「続行」をクリックします。
- 「AppData」→「Roaming」→「PeerNetworking」の順にアクセスします。
- AppDataが見つからない場合は、エクスプローラーの「表示」→「隠しファイル」にチェックを入れてください。
- 環境によっては、「PeerNetworking」フォルダは存在しなため他の対処を試してください。
- 「idstore.sst」を右クリックして「削除」します。
- 確認ダイアログ削除したらエクスプローラを閉じて、PCを再起動します。
idstore.sstを削除できたら、Peer Name Resolution Protocolのエラーが発生しなくなったか確認してください。
対処2: サービスのログオン設定を変更する
Peer Name Resolution Protocolサービスのログオン設定を変更することで、サービスが起動できない問題が解決する可能性があります。
サービスのログオン設定を変更するには、次の手順で操作してください。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を開きます。
- 「services.msc」と入力して「OK」をクリックします。
- 「サービス」ウィンドウが起動したら、一覧から「Peer Name Resolution Protocol」をダブルクリックします。
- 全般タブの「スタートアップの種類」が「手動」になっていることを確認します。
- 「ログオン」タブを開き、ます。「アカウント」にチェックをつけて以下の情報を入力します。
- アカウント: Local Service
- パスワード: サインインしている管理者アカウントのパスワード
- 「OK」をクリックします。
- PCを再起動して設定を反映します。
サービスのログオン設定を変更できたら、Peer Name Resolution Protocolサービスのエラーが解決したか確認してください。
対処3: MachineKeysフォルダを空にする
ProgramData\Windowsフォルダ内にあるMachineKeysフォルダを空にすることで、Peer Name Resolution Protocolサービスのエラーが解決する可能性があります。
MachineKeysフォルダを空にするには、次の手順で操作してください。
- エクスプローラーを開いて、アドレスバーに以下のフォルダパスを入力してEnterキーで移動します。
%ProgramData%\Microsoft\Crypto\RSA\
- 「MachineKeys」フォルダを右クリックして「名前を変更」を選択します。
- 「MachineKeys.old」に変更します。
- フォルダ内の何もない場所で右クリックして「新規作成」→「フォルダ」の順に選択します。
- 新しいフォルダの名前を「MachineKeys」に変更します。
- PCを再起動します。
MachineKeysフォルダを空にしてPCが再起動したら、Peer Name Resolution Protocolサービスのエラーが解決したか確認してください。
対処4: セキュリティソフトのファイアウォールを無効にする
セキュリティソフトのファイアウォールの機能によって、Peer Name Resolution Protocolサービスの起動がブロックされているケースがあります。
この問題は、サードパーティ製のセキュリティソフトを使用している場合に発生することがあります。
そのため、セキュリティソフトのファイアウォールを無効化した状態で、Peer Name Resolution Protocolサービスを開始できないか確認してみてください。具体的な手順は、次の通りです。
- セキュリティソフトのファイアウォールを無効にします。
- セキュリティソフトの機能を無効化する手順は、メーカーによって異なるためマニュアルを参考にしてください。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を開きます。
- 「services.msc」と入力して「OK」をクリックします。
- 「サービス」ウィンドウが起動したら、一覧から「Peer Networking Identity Manager」を右クリックして「開始」を選択します。
- サービスが既に実行中の場合は、開始する必要はありません。
- 続いて「Peer Name Resolution Protocol」を右クリックして「開始」を選択します。
- サービスが正常に開始するか確認します。
上記の手順でPeer Name Resolution Protocolサービスが正常に起動した場合は、セキュリティソフトが原因と判断できます。
問題が解決した場合は、ファイアウォールの設定でPeer Name Resolution Protocolの通信を許可するか、他のセキュリティソフトの使用を検討してください。
対処5: Peer Name Resolution Protocolサービスを無効にする
Peer Name Resolution Protocolは必須のサービスではないため、P2P機能を使用するアプリケーションを使用していない場合は、サービスを無効にしても問題はありません。
全ての対処を試してもPeer Name Resolution Protocolのエラーが解決しない場合は、サービスを停止することを検討してください。
Peer Name Resolution Protocolサービスを停止するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を開きます。
- 「services.msc」と入力して「OK」をクリックします。
- 「サービス」ウィンドウが起動したら、一覧から以下のサービスを右クリックして「プロパティ」を選択します。
- Peer Name Resolution Protocol
- Peer Networking Identity Manager
- Peer Networking Grouping
- 「スタートアップの種類」を「無効」に変更して、「OK」をクリックします。
- 全ての関連サービスのスタートアップを無効化できたら、PCを再起動します。
以上の手順で、サービスを無効化することができます。イベントログにPeer Name Resolution Protocolのエラーが記録されなくなったか確認してください。