ユーザーの介入なしに Windows 10 デスクトップがスリープ/休止状態から復帰するのを停止するにはどうすればよいですか?
多くのユーザーにとってこれは問題にはなりませんが、PC と同じ部屋で寝る場合、アップデートをダウンロードするために午前 3 時 30 分にマシンが起動するのはイライラします。
答え1
まとめ
2022 年 4 月: Windows のスケジュールされたタスクを無効にしてデバイスを自動的に起動する新しい PowerShell スクリプトを作成しました。このガイドの他の部分と一緒に使用してください。次の場所からダウンロードしてください: https://github.com/seagull/disable-scheduledWaking
これに影響を与える要因は数多くあります。このサイトには、この問題に取り組むためのさまざまな方法を詳しく説明した投稿が数多くあることは承知しています。この投稿の目的は、それらの投稿を統合し、この問題に実際に影響を受けている者として、この問題に対する私自身の見解を追加することです。
手順 2 で説明した修正は、Windows Update のインストール後に Windows 10 がマシンを再起動するのを防ぐためにも使用できます。
この修正は Fall Update (1709) でも機能します。ただし、更新プロセスによって「再起動」タスクが置き換えられるため、再度「再起動」タスクを無効にしてセキュリティ権限を再設定する必要があります。
ステップ1: すべての電源プロファイルのウェイクタイマーを無効にする
怠惰な技術ブロガーは、これで検索は終了だと信じ込ませようとします。この手順で誤ったシャットダウンがいくつかなくなるのは事実ですが、特に Windows 10 では、ユーザーの介入に関係なくこの設定が尊重されない設定や構成が多数あります。→ に移動しますControl Panel。Power Optionsここから、リストの先頭にある電源プロファイルを選択し、「ウェイク タイマー」を無効にします。すべてのプロファイルを調べます。
StackExchangeユーザーに感謝オリー22画像用。
Windows 10では、この設定を修正することを強くお勧めします。すべての電力プロファイル、使用するように選択したプロファイルだけではありません。さまざまな Windows 機能で異なるプロファイルが使用されるため、起動されにくくなる可能性が高くなります。
ステップ2: 不規則なreboot
スケジュールタスクを無効にする
Windows 10 の UpdateOrchestrator スケジュール タスク フォルダーには、「再起動」というタスクが含まれています。このタスクは、更新プログラムがあるかどうかに関係なく、コンピューターを起動して更新プログラムをインストールします。コンピューターを起動する権限を削除するだけでは不十分です。タスク スケジューラを終了した後、Windows はそれを編集して、再度権限を付与します。
からControl Panelを入力しAdministrative Tools、 を表示しますTask Scheduler。
これはあなたがやりたいタスクです - Task Scheduler Library→ Microsoft→ Windows→の下にありますUpdateOrchestrator。あなたがやりたい最も重要なことは次のとおりです:
ここから、Windowsがタスクを妨害できないように、タスクの権限を変更する必要があります。タスクはにあります。ファイル拡張子なしでC:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator
呼び出されます。右クリックして、プロパティとReboot
あなた自身がオーナーになる最後に、以下が表示されるように設定します。
ここでは、ファイルは SYSTEM の読み取り専用権限で表示されています。自分のアカウントも含めて、どのアカウントにも書き込み権限がないようにします (必要に応じて、後でいつでも権限を変更できます)。また、Advancedこの画面のボタンからファイルの継承された権限をすべて無効にして、ルート フォルダーの既存の権限を上書きしてください。これにより、変更を実装した後で Windows が変更を台無しにすることが 100% なくなります。
これを設定したら、スケジュールされたタスクについて心配する必要がなくなります。
UpdateOrchestrator
タスクを変更する権限がない場合
UpdateOrchestrator
のタスクを変更するには、SYSTEM
権限が必要になりました。また、権限も必要administrator
ありません。TrustedInstaller
- Microsoft独自の
PsTools
。 - Command Prompt管理者として
cd
ローカルフォルダーを開きますPsTools
。 - 実行中:
psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
- 前述のように、に移動してタスク
UpdateOrchestrator
を無効にします。Reboot
Windows 1709 (Fall Creators Update) に関する注意事項
Windows のインストール プロセスではファイルのアクセス許可が変更されるため、アップグレード後にこのガイドを再度確認してください。
同じ手順を適用する必要があるという新しいタスクが作成されたという報告を聞きましたがAC Power Install
、16299.192 (2018-01 Meltdown パッチ) アップデートをインストールした後、自分のデバイスでこのタスクが生成されたのを見たことがないので、絶対的な確信を持ってアドバイスすることはできません。上記で実行したのと同じ手順は、導入されたすべてのタスクで機能するはずです。
ステップ3: PowerShellでウェイクタイマーを確認する
ウェイク タイマー機能を無効にしましたが、Windows 10 ではその設定が無視される傾向があるため、安全のために PowerShell コマンドを実行して、PC をウェイクアップする可能性のあるすべてのタスクを除外します。管理 PowerShell コマンド プロンプトを開き ([スタート]、[Powershell] と入力、Ctrl+Shift+Enter)、ウィンドウに次のコマンドを入力します。
Get-ScheduledTask | where {$_.settings.waketorun}
リストされているすべてのタスクを確認し、コンピューターを起動するための権限を削除します。 の場合のように権限について心配する必要はありません。Reboot
これは例外的なケースでした。
ステップ4: PCを起動できるハードウェアを確認する
多くの USB ハードウェアは、接続されると PC を起動する機能を持っています (たとえば、キーボードはキーが押されるとよく起動します)。このシナリオでは、通常、Wake on LAN も問題になります。初心者のために説明すると、最近のハードウェアの一般的な便利な機能は「Wake on LAN」です。デバイスが有線 Ethernet ケーブル経由でローカル ネットワークに接続されている場合 (Wi-Fi では機能しません)、通信を送信して、受信時に PC を起動することができます。これは私がよく使用する機能ですが、デフォルトの動作が過剰すぎるため、調整する必要があります。
管理コマンド プロンプトに次のコマンドを入力します。
powercfg -devicequery wake_armed
Device Managerここから、 ( )内のデバイスを見つけてControl Panel、Power Managementタブの下で、コンピュータを起動する機能を削除します。Wake-on-LAN を維持したいネットワーク インターフェイス カードがある場合は、Only wake this device if it receives a magic packet送信されるすべてのトラフィックを起動するのではなく、有効にします。
ステップ5: グループポリシーを確認して完全に確認する
スタート メニューを右クリックして を選択しますRun。 と入力します。 → → → →GPEdit.MSC
の下で次の設定を見つけて、スケジュールされた更新をインストールするためにシステムを自動的に起動します。それをダブルクリックして無効に設定します。Computer ConfigurationAdministrative TemplatesWindows ComponentsWindows UpdatesEnabling Windows Update Power Management
ステップ6: 自動メンテナンスのためにマシンを起動しないようにする
Microsoft の誰かが、これについてユーモアのセンスを持っています。夜中に PC の音で起こされるなら、何よりも聞きたいのは、夜間のデフラグでハード ドライブがカチカチと音を立てる音です。この機能を無効にするには、Security and Maintenanceのセクションを見つけます。Control Panelそこから展開してMaintenanceへのリンクを探しますChange Maintenance settings。
時間をもっと社交的な時間(午後 7 時で十分)に設定し、タスクのためにマシンが自動的に起動する機能を無効にします。
答え2
私は今このスクリプトを使ってウェイクタイマーによる Windows 10 デスクトップの起動を完全に停止する:
# disable wake for enabled scheduled tasks that are allowed to wake
Get-ScheduledTask |
?{ $_.Settings.WakeToRun -eq $true -and $_.State -ne 'Disabled' } |
%{
write-host $_
$_.Settings.WakeToRun = $false;
Set-ScheduledTask $_
}
# disable wake for devices that are allowed to wake (list of wake capable devices: powercfg -devicequery wake_from_any)
powercfg -devicequery wake_armed |
%{
write-host $_
if ($_ -notmatch '^(NONE)?$')
{ powercfg -devicedisablewake $_ }
}
# disable wake timers for all power schemes
powercfg -list | Select-String 'GUID' |
%{
write-host $_
$guid = $_ -replace '^.*:\s+(\S+?)\s+.*$', '$1'
powercfg -setdcvalueindex $guid SUB_SLEEP RTCWAKE 0
powercfg -setacvalueindex $guid SUB_SLEEP RTCWAKE 0
}
# disable wake for automatic updates and for automatic maintenance
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUPowerManagement',
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\WakeUp' |
%{
write-host $_
$key = split-path $_
$name = split-path $_ -leaf
$type = 'DWORD'
$value = 0
if (!(Test-Path $key))
{ New-Item -Path $key -Force | Out-Null }
if ((Get-ItemProperty $key $name 2>$null).$name -ne $value)
{ Set-ItemProperty $key $name $value -type $type }
}
ご覧のとおり、これは多かれ少なかれ、これスケジュールされたタスクファイルの権限を除いて答えます。しかし、私は黙って走るロック解除/ログオンのたびにこのスクリプトを実行すると、まったく問題にならないと思います。
答え3
他の回答は非常に役に立ったので、できればコメントしたいのですが、ここで説明されている手順 3 と 4 を支援するために、私が急いで作成したソフトウェアを提供したいと思いました。
https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download
誰かにとって役に立つといいのですが。
このポップアップが表示され、「詳細情報」をクリックしてから「とにかく実行」をクリックする必要がある場合があります (よくわからない場合は、ソース コードを自由に確認してください。結局のところ、ソース コードは github にあります)。