web-dev-qa-db-fra.com

Exécutez un script lorsque Windows reprends de Suspend / Hibernate State?

Existe-t-il un moyen d'avoir Windows (XP, Vista et 7) d'exécuter un script lorsqu'une machine retourne du mode Hibernate/Suspend? Ce serait bien avec moi si le script s'exécute après que l'utilisateur déverrouille une session verrouillée après la reprise de la machine.

J'ai un service qui doit être frappé lorsque je reçois une machine de reprendre afin de le faire fonctionner correctement sur CV.

15
Ian C.

Dans Windows 7, vous pouvez le faire avec une tâche planifiée. Configurez un script de lot pour effectuer les actions que vous souhaitez, puis créez une tâche avec l'un des déclencheurs suivants:

  • Sur Workstation Déverrouiller - Ignore d'abord les connecteurs, mais commencera après le déverrouillage.
  • Lors de la connexion à la session utilisateur - chaque connexion, peut être une connexion locale ou distante.
  • Lors d'un événement - dans le journal du système, la source "Power-Dépanners" enregistre un code d'événement de 1 lorsque vous vous réveillez d'un état de veille.

Je n'ai pas testé celles-ci pour vous assurer qu'ils fonctionnent comme prévu, mais j'ai utilisé "sur le verrouillage du poste de travail" avec une grande quantité de succès. D'après ce que je me souviens des tâches programmées dans XP, il n'a que "quand je me connecte".

win 7 source doc

Win XP Source Doc

J'espère que cela t'aides

15
Doltknuckle

Utilisation Win32_PowermanManagementVent ? Je viens de googler et j'ai trouvé le Script suivant (aucune garantie;).

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
2
Andy

Ajoutez une tâche planifiée avec la gâchette: sur le déverrouillage du poste de travail. Cela fonctionne, je l'exécute après le réveil du sommeil. OM My Windows 2008R2 Boîte Le service audio doit être redémarré, sinon parfois, il utilise 100% de 1 CPU.

1
ed m