Windows askıya alma / hazırda bekletme durumundan çıktığında bir komut dosyası çalıştırılsın mı?


15

Bir makine hazırda bekletme / askıya alma modundan döndüğünde Windows'un (XP, Vista ve 7) bir komut dosyasını çalıştırmasının bir yolu var mı? Komut dosyası, kullanıcı yeniden başlatıldıktan sonra kullanıcı kilitli bir oturumun kilidini açtıktan sonra çalışırsa benimle sorun olmaz.

Bir makinenin kaldığı yerden devam ettirilmesi için çalıştığında başlatılması gereken bir hizmetim var.

Yanıtlar:


15

Windows 7'de bunu zamanlanmış bir görevle yapabilirsiniz. İstediğiniz eylemleri yapmak için bir toplu iş komut dosyası ayarlayın ve ardından aşağıdaki tetikleyicilerden biriyle bir görev oluşturun:

  • İş istasyonu kilidini aç - İlk oturum açmayı yok sayar, ancak kilidini açtıktan sonra başlar.
  • Kullanıcı oturumuyla bağlantı kurulduğunda - Her oturum açma, yerel veya uzak bağlantı olabilir.
  • Bir olayda - Sistem günlüğünde, "Güç Sorun Gidericisi" Kaynağı uyku durumundan uyandığınızda 1 olay kodunu günlüğe kaydeder.

Beklendiği gibi çalıştıklarından emin olmak için bunları test etmedim, ancak "İş istasyonu kilidinde" yüksek miktarda başarı ile kullandım. XP'de zamanlanmış görevler hatırladığım kadarıyla, yalnızca "Oturum açtığımda" var.

7 kaynak doc kazan

XP kaynak dokümanı kazan

Bu yardımcı olur umarım


2
"İş istasyonu kilitleme / kilit açma" tetikleme seçeneklerinin yalnızca "Görev Oluştur ..." için gösterildiğini ve "Temel Görev Oluştur ..." için gösterilmediğini unutmayın
rymo

"Güç Sorun Gidericisi" kaynağı, Win 8.1 ile de çalışır.
Herb

1
Power-Sorun Giderici 10 pro yanlısı benim için çalışmıyor. İş istasyonunun kilidini açma yine de çalışıyor
e-bulut

1
"İş istasyonu kilidini" benim için çalışıyor
sms247

Olay kodu 107 kazanmak 10 pro benim için çalışıyor
Alex78191

2

Kullanımı Win32_PowerManagementEvent ? Ben sadece googled ve aşağıdaki komut dosyası bulundu (garanti;).

Set oShell = CreateObject("WScript.Shell")

Set colMonitoredEvents = GetObject("winmgmts:")._
ExecNotificationQuery("Select * from Win32_PowerManagementEvent")

Do
  Set objLatestEvent = colMonitoredEvents.NextEvent

  Select Case objLatestEvent.EventType

    Case 4
      oShell.Run "Calc.exe", 1, False
      MsgBox "Entering suspend, Calc started", _
      vbInformation + vbSystemModal, "Suspend"

    Case 7
      oShell.Run "Notepad.exe", 1, False
      MsgBox "Resuming from suspend, notepad started", _
      vbInformation + vbSystemModal, "Suspend"

    Case 11
      MsgBox "OEM Event happened, OEMEventCode = " _
      & strLatestEvent.OEMEventCode

    Case 18
      MsgBox "Resume Automatic happened"

  End Select
Loop

1

İş istasyonu kilidinde tetikleyici: ile zamanlanmış bir görev ekleyin. Çalışıyor, uykudan uyandıktan sonra çalıştırıyorum. Om benim Windows 2008R2 kutusu ses hizmetinin yeniden başlatılması gerekiyor, aksi takdirde bazen 1 cpu'nun% 100'ünü kullanır.


-1

Aslında bir süre önce böyle bir senaryo yazdım ve blog yazdım, ama burada sorunuzun biraz sonra olduğuna inanıyorum. Bir dahaki sefere böyle bir şey yazdığımda Stack Overflow'u hemen arayacağım, çünkü insanlar böyle şeyler aradıklarında, bugünlerde bu siteye gitme eğilimi gösteriyorlar.


4
Bir bağlantıya sahip olmak güzel olsa da, önemli kısımları (hatta senaryo) burada, yerinde yayınlayabilir misiniz? Bu şekilde kullanıcıların başka bir yere gitmesi gerekmeyecek ve blogun düşmesi durumunda bir yedeğimiz var.
slhck
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.