Windows 10デスクトップがスリープ/休止状態の電源状態から目覚めるのを、ユーザーの介入なしに止めるにはどうすればいいですか?
多くのユーザーにとってこれは問題ではありませんが、もしあなたがPCと同じ部屋で寝ているのであれば、あなたのマシンがアップデートをダウンロードするために午前3時30分に起きてしまうのはイライラさせられます
269 seagull 2015-09-14
Summary
この問題に影響を与えるものはいくつかあります。私は、このサイトの至る所に、この問題にアプローチするための様々な異なる方法を詳細に記述した投稿があることを認識しています。この投稿は、それらを統合し、自分自身の影響を受けた者としてこの問題に私自身の洞察を加えることを目的としています
ステップ2で概説された修正は、Windows Updateをインストールした後にWindows 10がマシンを再起動しないようにするために使用することもできます
この修正はFall Update (1709)でも動作します。ただし、更新プロセスがこれに代わるため、「再起動」タスクを再度無効にし、セキュリティ権限を再設定する必要があります
ステップ1:すべてのパワープロファイルのウェイクタイマーを無効にします
怠け者の技術ブロガーは、これで検索が終了したと思っているでしょう。このステップを踏むことで、いくつかの誤ったシャットダウンがなくなるのは事実ですが、特に Windows 10 では、ユーザーの介入に関わらず、この設定を尊重しない設定や設定が多数存在します。Control Panel → Power Optionsに進みます。ここから、リストの最初にある電源プロファイルを選び、「Wake timers」を無効にします。すべてのプロファイルで作業してください
StackExchangeのユーザーolee22が画像を提供してくれたことに感謝します
Windows 10では、この設定を使用することを選択したものだけでなく、すべてのパワープロファイルに対して修正することを強くお勧めします。様々なWindowsの学部が異なるプロファイルを使用します
ステップ2: 手に負えないreboot
スケジュールされたタスクを無効にします
注意: Windows 10 のシステムが再起動しないようにするための PowerShell スクリプトを作成しました。ここにあります。github.com/seagull/disable-automaticrestarts
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
のパーミッションは必要ありません
- マイクロソフト独自の
PsTools
をインストールします - Command Promptを管理者とし、
cd
をローカルのPsTools
フォルダに開く - 実行しています。
psexec.exe -i -s %windir%\system32\mmc.exe /s taskschd.msc
- 前述のように、
UpdateOrchestrator
に行ってReboot
タスクを無効化する
Windows 1709(秋の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 を起動する機能を持っています (キーボードは、例えば、キーが押されたときに起動することが多いです)。知らない人のために, 最近のハードウェアの一般的で便利な機能は ‘ウェイクオンLAN’と呼ばれています.お使いのデバイスが有線イーサネットケーブルを介してローカルネットワークに接続されている場合(それは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を有効にして、送信された全てのトラフィックをウェイクアップするのではなく、Only wake this device if it receives a magic packetを有効にしてください
ステップ5:念のためにグループポリシーを確認します
スタートメニューを右クリックし、Runを選択します。GPEdit.MSC
と入力します。Computer Configuration → Administrative Templates → Windows Components → Windows Updates → Enabling Windows Update Power Management の下に次の設定を探して、システムを自動的に起動してスケジュールされた更新プログラムをインストールします。ダブルクリックして「無効」にしてください
ステップ6:自動メンテナンスのために機械の起床を無効にします
マイクロソフトの誰かがこの件でユーモアのセンスを持っている。夜中にPCで起こされた場合、他の何よりも聞きたいのは、毎晩デフラグをするときにハードドライブがカリカリと音を立てていることです。この機能を無効にするには、Control PanelのSecurity and Maintenanceセクションを見つけてください。そこから、Maintenanceを展開して、Change Maintenance settingsへのリンクを探してください
時間をもっと社交的なものに設定して(7PMは大丈夫です)、タスクのために自分自身を起こすマシンの能力を無効にします
405 community wiki 2019-12-07
私は今、このスクリプトを使って、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 }
}
ご覧のように、スケジュールされたタスクファイルのパーミッションを除いて、この回答に記載されているすべてのステップに多かれ少なかれ対応しています。しかし、私はアンロック/ログオンのたびにこのスクリプトを黙って実行するつもりなので、これが全く問題にならないことを願っています
26 mousio 2016-04-20
私は他の答えが信じられないほど有用であることを発見し、私ができるならばただコメントするだろうが、私はすぐに私がステップ3& 4を助けるために書いたソフトウェアの一部を貢献したいと思いましたここで見つけた
https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download
何人かの人の役に立つことを願っています
このポップアップが表示され、”詳細情報 “をクリックしてから “とにかく実行 “をクリックしなければならないかもしれません(よくわからない場合は、ソースコードをチェックしてみてください、結局github上にあります)。
13 Eric 2016-11-18