Yanıtlar:
Cevap
Bunu etkileyebilecek çok şey var. Bu sitenin tamamında, soruna yaklaşmanın çeşitli yollarını anlatan yayınlar olduğunu biliyorum; Bu gönderi onları birleştirmeyi ve kendilerinden etkilenen birileri olarak konuya kendi iç görülerimi eklemeyi hedefliyor.
2. Adımda belirtilen düzeltme, Windows 10'un Windows Güncelleştirmeleri yüklendikten sonra yeniden başlatılmasını durdurmak için de kullanılabilir.
Bu düzeltme, Sonbahar Güncelleştirmesi (1709) için de geçerlidir. 'Yeniden başlat' görevini tekrar devre dışı bırakmanız ve güvenlik izinlerini yeniden yapılandırmanız gerekir, çünkü güncelleme işlemi yerine geçer.
Adım 1: Tüm güç profilleri için uyandırma zamanlayıcılarını devre dışı bırakın
Tembel teknoloji blogcuları bunun aramanızın sonu olduğuna inanmanızı sağlar. Bu adımın birkaç hatalı kapatmayı ortadan kaldıracağı doğru olsa da, özellikle Windows 10'da, kullanıcının müdahalesinden bağımsız olarak bu ayara saygı göstermeyen bazı ayarlar ve yapılandırmalar vardır. Denetim Masası> Güç Seçenekleri'ne gidin. Buradan listedeki ilk güç profilini seç ve 'Uyandırma zamanlayıcılarını' devre dışı bırak. Tüm profillerde çalışın.
( Resim için StackExchange kullanıcısı olee22 sayesinde )
Windows 10'da, bu ayarı yalnızca kullanmayı tercih ettiğiniz ayar değil , tüm güç profilleri için düzeltmeniz önerilir . Çeşitli Windows fakülteleri farklı profiller kullanacak; bu, uyanmama şansınızı artırır.
Adım 2: Kuraldışı "yeniden başlat" zamanlanmış görevini devre dışı bırakın
Not: Windows 10 sisteminizin yeniden başlatılmasını durdurmak için kullanılabilecek bir PowerShell betiği oluşturdum. Burada bulabilirsiniz: https://github.com/seagull/disable-automaticrestarts
Windows 10'un UpdateOrchestrator zamanlanmış görev klasörü "yeniden başlatma" adlı bir görev içeriyor. Bu görev, mevcut olup olmadığına bakılmaksızın güncellemeleri yüklemek için bilgisayarınızı uyandıracak. Bilgisayarı uyandırma iznini kaldırmak yeterli değildir; Windows, Görev Zamanlayıcı'dan ayrıldıktan sonra yeniden izin vermek için düzenler.
Denetim Masanızdan, Yönetimsel Araçlar'ı girin ve ardından Görev Zamanlayıcı'yı görüntüleyin.
İstediğiniz görev - Görev Zamanlayıcı Kütüphanesi> Microsoft> Windows> UpdateOrchestrator altında. Yapmak istediğiniz en önemli şeyler:
Buradan, görevin izinlerini, Windows'un taciz edemeyeceği şekilde değiştirmeniz gerekecektir. Görev, C: \ Windows \ System32 \ Tasks \ Microsoft \ Windows \ UpdateOrchestrator konumunda bulunur . Dosya uzantısı olmadan "Yeniden Başlat" olarak adlandırılır. Sağ tıklayın, özellikleri girin ve kendinize sahip olun . Son olarak, aşağıdakileri gösterecek şekilde yapılandırın:
Burada dosya SYSTEM için salt okunur izinlerle gösterilmiştir. Hiçbir hesabın, kendi hesabınızla bile olsa yazma erişiminin olmamasını sağlayın (gerektiğinde izinleri her zaman değiştirebilirsiniz). Lütfen, kök klasördeki mevcut izinleri geçersiz kılmak için, dosyanın devralınmış izinlerini bu ekrandaki "Gelişmiş" düğmesinden devre dışı bıraktığınızdan da emin olun. Bu, uygulamanızın ardından değişikliklerin karışmasını Windows'un% 100 DURDURACAKTIR.
Bu ayarlandıktan sonra, o zamanlanmış görev için endişelenmenize gerek kalmayacak.
Windows 1709 için Not (Düşmeye Başlayanların Güncellemesi)
Windows yükleme işlemi dosyalar için izinleri değiştirir, bu nedenle yükseltme işleminden sonra bu kılavuza devam ettiğinizden emin olun. "AC Power Install" adı verilen ve aynı adımları uygulayan yeni bir görev yapıldığını duydum ancak 16299.192 (2018-01 Meltdown yaması) güncellemesini yükledikten sonra kendi cihazımda üretilen bu görevi görmedim. Kesin olarak kesin bir tavsiyede bulunamam. Yukarıda gerçekleştirilen aynı adımlar, tanıtılan herhangi bir görev üzerinde çalışmalıdır.
Adım 3: PowerShell'deki Uyanma Zamanlayıcılarını Kontrol Edin
Uyandırma zamanlayıcı işlevini devre dışı bıraktınız, ancak Windows 10'un bu ayara saygı duymama alışkanlığı var, bu yüzden güvenli olması için, PC'nizi uyandırabilen tüm görevleri ortadan kaldırmak için bir PowerShell komutu çalıştıracağız. Yönetimsel bir PowerShell komut istemi açın (Başlat, 'Powershell', Ctrl + Shift + Enter yazın) ve bu komutu pencereye yerleştirin:
Get-ScheduledTask | where {$_.settings.waketorun}
Listelenen tüm görevleri gözden geçirin ve bilgisayarınızı uyandırmak için izinlerini kaldırın. Reboot ile yaptığımız gibi izinler konusunda endişelenmenize gerek yok; bu dışlanmış bir durumdu.
Adım 4: Hangi donanımın bilgisayarınızı uyandırabileceğini kontrol edin
Çok sayıda USB donanımı, meşgul olduklarında PC'nizi uyandırabilir (örneğin, tuşlara basıldığında genellikle klavyeler kullanılır); LAN üzerinden uyandırma genellikle bu senaryoda da bir sorundur. Başlatılmamış için, modern donanımın ortak ve kullanışlı bir özelliğine 'Yerel Ağda Uyandırma' denir. Cihazınız kablolu bir Ethernet kablosu aracılığıyla yerel bir ağa bağlıysa (Wi-Fi için çalışmaz), alındığında bilgisayarınızı uyandıracak olan iletişim gönderebilirsiniz. Sık kullandığım bir özellik ama varsayılan davranışı gereğinden fazla abartılı olduğu için sıraya sokulması gerekiyor.
Bir yönetici komut istemine aşağıdaki komutu girin:
powercfg -devicequery wake_armed
Buradan, Aygıt Yöneticisi'ndeki (Denetim Masası) aygıtları bulun ve "Güç Yönetimi" sekmesi altında, bilgisayarınızı uyandırma yeteneklerini kaldırın. Wake-on-LAN özelliğini korumak istediğiniz ağ arabirim kartlarınız varsa, gönderilen tüm trafiği uyandırmak yerine, "Yalnızca sihirli bir paket alırsa bu aygıtı uyandır" seçeneğini etkinleştirin.
Adım 5: Tamamen emin olmak için Grup İlkesini kontrol edin
Başlat menüsünü sağ tıklayın ve 'Çalıştır'ı seçin. GPEdit.MSC yazın. Bilgisayar Yapılandırması> Yönetim Şablonları> Windows Bileşenleri> Windows Güncelleştirmeleri> Windows Update Güç Yönetiminin zamanlanmış güncelleştirmeleri yüklemek üzere sistemi otomatik olarak uyandırmasını sağlamak altında aşağıdaki ayarı bulun. Çift tıklayın ve Devre Dışı olarak ayarlayın.
Adım 6: Otomatik bakım için makinenizi uyandırmayı devre dışı bırakın
Microsoft'taki birinin bunun için bir mizah anlayışı var. Geceleri PC'niz tarafından uyandıysanız, her şeyden daha çok duymak istediğiniz tek şey, bir gecede birleştirmeyi gerçekleştirdiği gibi sabit sürücünün parçalanması ve taşlanmasıdır. Kontrol Panelinin "Güvenlik ve Bakım" bölümünü bularak bu özelliği devre dışı bırakın. Oradan, "Bakım" öğesini genişletin ve "Bakım ayarlarını değiştir" bağlantısını arayın.
Zamanı daha sosyal bir şeylere ayarlayın (7PM iyidir) ve makinenin görev için kendini uyandırma yeteneğini devre dışı bırakın.
Şimdi bu komut dosyasını, uyandırma zamanlayıcılarının Windows 10 masaüstünü uyandırmasını kesin olarak durdurmak için kullanıyorum :
# 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 }
}
Gördüğünüz gibi , zamanlanmış görev dosyası izinleri dışında , bu cevapta belirtilen adımların tümünü aşağı yukarı gider . Ancak, bu betiği her kilit açma / oturum açma sırasında sessizce çalıştırmayı düşündüğüm için , umarım bu bir sorun olmaz.
Get-ScheduledTask
Böyle görevleri bulduğunda script parçası başarısız olur. Nasıl çözüleceği hakkında bir fikrin var mı?
Set-ScheduledTask
o alır sanmıyorum olduğu ScheduledTask
bir parametre olarak nesneyi. Bu aslında görevleri değiştirmek için işe yaradı mı? İşte bunu bildiren bir başkasından bir referans: social.technet.microsoft.com/Forums/en-US/…
Diğer cevabı inanılmaz derecede faydalı buldum ve eğer yapabilseydim sadece yorumda bulunacaktım, ancak burada bulunan 3 ve 4 numaralı adımlara yardımcı olmak için hızlıca yazdığım bir yazılıma katkıda bulunmak istedim:
https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download
Umarım bazı insanlara yarar sağlar.
Bu açılır pencereyi görebilirsiniz ve "Daha fazla bilgi" yi ve ardından "Yine de çalıştır" ı tıklamanız gerekebilir (bundan emin değilseniz, kaynak kodunu kontrol etmekten çekinmeyin, github afterall'dadır):
Reboot
NTFS düzeyinde görev tanımı dosyasının sahipliğini almak ve sinsi yılan derisiSYSTEM
(ab) kullanıcısının sadece okuma ve çalıştırma izinlerini azaltması için kullandığı sağlam ve acımasız kararlılığı takdir ediyorum . Akılda tutulması gereken saçma bir yaklaşım, Microsoft'un zararlı düşmanca el tutma işlemlerini daha da yaygınlaştırmaya karar vermesi gerekir. Patron'un harika şarkısında olduğu gibi, bu sabah önceki gece not defterinde ve IE sekmelerinde kaydedilmemiş veri bulutlarının olduğu boş bir gökyüzüne uyandım. Update & Reboot sunusunda kullanıcı verilerini feda eden bir işletim sistemi görevini açıkça yerine getiriyor.