web-dev-qa-db-ja.com

Windowsの再起動後に自動サービスが自動的に開始されない

私はすべてのアップデートで1511を構築したウィンドウ10を持っています。

今日、私はいくつかの奇妙な振る舞いに気付きました:

システムを再起動した後、スタートアップの種類が自動のサービスが自動的に起動しません。

しかし、私はそれらを手動で起動することができ、その後はすべて問題ありません。しかし、私がシステムを再起動した場合、問題は再び現れます。

手動でサービスを開始した後、シャットダウンした後、PCの電源を入れても問題ありません。そのため、サービスは自動的に開始されます。問題は、Windowsを再起動した場合にのみ発生します。再起動後、これらのサービスは自動的には開始されません。

この問題は、アプリケーションに関連する一部のサービスにのみ発生します(システムサービスには該当しません)。これらのサービスは他のサービスに依存しません。

私に何ができる ?

ありがとうございました !

21
alex

現時点で機能する唯一の解決策は、これらのサービスのスタートアップの種類を自動から自動遅延に変更することです。これが最善の解決策かどうかはわかりませんが、現時点で有効なのはそれだけです。

10
alex

私の前の答えは私たちの問題を解決しませんでした。最後に、サービスのタイムアウト時間をより高い値に設定することでそれを修正しました。この解決策を試してください。

Start> Run>の順に進み、regeditをタイプして下さい。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Controlに移動します。

制御フォルダーを選択した状態で、右側のペインを右クリックして新しいDWORD値を選択します。

新しいDWORDに名前を付けます:ServicesPipeTimeout

ServicesPipeTimeoutを右クリックし、変更を次にクリックします。

[10進]をクリックし、「180000」と入力して[OK]をクリックします。

コンピュータを再起動してください

原因:

Microsoft Windows Service Control Managerは、インストールされたすべてのWindowsサービスの状態(すなわち、開始、停止、一時停止など)を制御する。デフォルトでは、サービスコントロールマネージャはサービスが応答するのを30,000ミリ秒(30秒)待ちます。ただし、特定の設定、技術的な制限、またはパフォーマンスの問題により、サービスが開始され、サービスコントロールマネージャに報告されるまでに30秒以上かかることがあります。

ServicesPipeTimeout DWORD値を編集または作成することで、Service Control Managerのタイムアウト期間を無効にして、サービスの起動時間を延長し、サービスに報告する準備をすることができます。

参考ケース:

Reporting Serverエラー1053:サービスが開始要求または制御要求にタイムリーに応答しませんでした

https://social.technet.Microsoft.com/Forums/windows/en-US/b57ee42d-42ef-44a4-9670-be9088dbf9d4/reporting-server-error-1053-the-service forum-sqlreportingservices - 起動や制御要求がタイムリーに応答しない

頑張って これが修正の原因です

4
Michael

次のコマンドを使って、起動を「自動トリガー」から「自動」に変更できます。sc triggerinfo w32time delete

今、サービスは再起動後に自動的に開始することができます

2
Ahmed Khaled

私は同じ問題を抱えていました。マシンの再起動後にサービスが自動的に再起動されませんでした。これは、Windows 10のシャットダウンボタンが(Windows 7とは異なり)シャットダウンを意味するのではなく、「Set Power Buttons」設定がこのような場合、スタンバイと見なすことができるためです。

この場合、サービスが停止されても、停止されたままになります。それらが開始された場合、それらは再起動されることなく実行され続けます(初期化なし)。ジャン=マリー

1
JEAN-MARIE

サービスの実行可能ファイルを自分で変更できるのであれば、私たちにとってそれを修正しました。

プロジェクトファイルで、Prefer 32-bitフラグをfalseに変更してから、サービスを再インストールします。

CorFlags.exe でサービスを確認してください。 32BITREQと32BITPREFは0になります。

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x1
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 0
1
Michael

Windowsがこれらのサービスを必要としていない場合や、サービスの実行後にサービスを停止するように指示されている場合は、Windowsでサービスを停止できます。一部のサービスは他のサービスに依存しており、最初のサービスがそれらを呼び出したときにのみ開始されます。

エラーが発生すると、サービスも途中で停止する可能性があります。 イベントロガー に移動して、これらのサービスに関連するエラーがあるかどうかを確認できます。その後に「(Triggered Start)」がある場合、これらのサービスは通常不要であるか、またはたとえばバイオメトリックサービスに必要なときにのみ開始されます。

また、サービスの仕組み に関する詳しい情報はこちら にもあります。

あなたのPCがきちんと動いていないことに気づいていない限り、それは本当に問題になるべきではありません。

1
axys93

MBWiseからのコメントを参照してください。

私にとっては、この問題が発生したときに、サービスの[プロパティ]> [ログオン]の[このアカウント]を、 "MyUser @ MyDomain.xxx.yy"から "MyDomain\MyUser"の形式のネットワーク名に変更することで解決しました。説明がありませんが。 - MBWise Mar 14 '18 13:07

0
neflow

下記のコマンドで試してください。

sc config "SVCNAME" start= delayed-auto
0
BattleTested

これを試してみてください。

次のコマンドを実行して、自分の環境に適したトリガーイベントを定義します。この例では、コマンドはホストにIPアドレスが与えられているかどうかを判断してから、サービスを開始または停止します。

sc triggerinfo w32time開始/ネットワーク/停止/ネットワークオフ

w32Timeはあなたのサービス名です

またはこれを試してください

https://support.Microsoft.com/ja-jp/kb/922918

それでも問題が解決しない場合:NSClient version 0.5はデフォルトのサービス状態からトリガー検出を削除しました。手動で追加する必要があります。

*your_command* check_service -a "filter=is_trigger=0" *other_arguments* 
0
Ludo