Frage Überspringen Sie alle Warnmeldungen beim Herunterfahren von ACPI?


Wenn ich einen ACPI-Befehl zum Herunterfahren auf einem Windows XP-Gastcomputer über den Host-VM-Server ausstelle, möchte ich, dass Windows heruntergefahren wird.

Das Problem ist, dass Windows immer die eine oder andere Frage stellen möchte, anstatt einfach nur herunterzufahren. Ich muss herunterfahren, um zuverlässig zu sein, egal was läuft oder läuft, so dass ich das Herunterfahren vom Host-Rechner automatisieren kann. Aber ich möchte, dass es so anmutig wie möglich ist, anstatt nur den Stecker zu ziehen.

Einige Probleme:

  • Wenn ein Benutzer angemeldet ist, wird beim ACPI-Herunterfahren eine Box angezeigt, in der steht: "Möchten Sie das System herunterfahren, während andere Benutzer angemeldet sind?" Und das verhindert das Herunterfahren, bis sich jemand mit dem Rechner verbindet und auf "Ja" klickt. In diesem Fall sollte es versuchen, alle Benutzer ordnungsgemäß abzumelden, wenn nötig mit Gewalt zu arbeiten und dann ohne Werbung zu beenden.

  • Besetzte oder nicht reagierende Programme oder Programme, die Daten speichern möchten, können verhindern, dass Windows heruntergefahren wird, bis ein Benutzer eine Eingabeaufforderung beantwortet. Dies sollte versuchen, Daten zu speichern, warten Sie vielleicht 30 Sekunden für nicht antwortende Programme, sollte aber mit hartnäckigen Programmen aggressiv werden. "Nein, die Zeit ist vorbei! 3,2,1, Auf Wiedersehen!"

Gibt es eine Registrierungseinstellung, die ich ändern kann von:

ACPI_Shutdown: "Shut down if Windows feels like it"

zu

ACPI_Shutdown: "Just do it. Kill programs, bump users, try to be graceful about it, but when I come back, I expect you to be off."

Dies sollte auf den ACPI-Befehl zum Herunterfahren und nicht auf ein Skript in Windows reagieren, es sei denn, das Skript wird durch die ACPI-Einschalttaste ausgelöst. Ich hoffe, dass dies mit Registrierungsoptionen geändert werden kann.


5
2018-03-25 01:09


Ursprung


C:\>shutdown -s -f -t 00 -m \\vm funktioniert nicht? - Ƭᴇcʜιᴇ007
Kannst du anhängen? shutdown -s -t 0 zum Power Button Ereignis? Auf dem Hostcomputer ist der Befehl virsh shutdown xpvm Dabei ist xpvm der Computername. Dann sendet der Host ein Power-Button-Signal (ACPI) an den Gast. Linux-Gastmaschinen reagieren sofort mit dem Herunterfahren. Ich möchte das gleiche Verhalten auch für Windows-Gäste. - N Rahl
Wenn sich die VM im selben Netzwerk wie der Host befindet und das Konto auf dem Host über Anmeldeinformationen verfügt, wird die shutdown -m kann auf einen Remote-Computer (die VM) zugreifen. Machst du haben Verwenden Sie "Power Button", um die VM herunterzufahren? Warum nicht das Betriebssystem (XP) dazu bringen, sich selbst (und die VM) zu schließen? Denken Sie daran: Ich nahm einen Windows-Host an, ich weiß, dass shutdown.exe nicht von ACPI auf dem Zielcomputer ausgelöst wird und dass dies Kommentare sind, keine Antworten. ;) - Ƭᴇcʜιᴇ007


Antworten:


Es wäre wahrscheinlich besser, wenn Sie irgendwie in die VM remoteten und a shutdown -s -t 0 Befehl, der mit dem Herunterfahren beginnt, ohne den Benutzer zu fragen.

Sie können dazu PsExec von Sysinternal aus einem Skript oder einer Batch-Datei verwenden.

Alternativ können Sie Ihrer virtuellen Maschine einen virtuellen seriellen Port hinzufügen, die spezielle Windows XP Special Administration Console aktivieren und den Befehl über die SAC ausgeben. Die Ausgabe von Befehlen über eine Skript- / Batch-Datei an den SAC ist komplexer, aber Sie können das Herunterfahren auch ausführen, wenn das Netzwerk der XP-Instanz nicht funktioniert.

Update: Das könnte eine neue Sache in Vista / 7 sein - sieht aus wie die shutdown Befehl hat a /p kennzeichnen, dass, gemäß der Befehlshilfe "Schalten Sie den lokalen Computer ohne Zeitüberschreitung oder Warnung."

Also probiere es aus shutdown -s -p -f und sieh, was du bekommst.


1
2018-03-25 02:32



Können Sie shutdown -s -t 0 an das ACPI-Ereignis für den Netzschalter anhängen? Oder fügen Sie ein Skript an den Netzschalter an? - N Rahl


Für Windows XP verwende ich folgenden Befehl auf meinem Ubuntu-Host:

VBoxManage guestcontrol "WinXPVM" ausführen --image "C: \ Windows \ system32 \ shutdown.exe" --username put_username_hier --passwort put_password_here - -s -f -t 10

Letztes Argument ist die Zeit bis zum tatsächlichen Herunterfahren. Wenn Sie es sofort starten möchten, können Sie es in -t 0 ändern

Hoffe das wird jedem helfen :)


1
2018-02-12 00:46





Es sieht so aus, als gäbe es einige Registrierungs- und Gruppenrichtlinienwerte, mit denen Windows XP / 7 ein ACPI PowerDown-Ereignis verarbeiten kann, ohne dass eine zusätzliche Interaktion mit dem Betriebssystem erforderlich ist. Es könnte auch notwendig sein, sicherzustellen, dass die Systemsteuerung / Energieoptionen sind für das Herunterfahren für den Netzschalter eingestellt, und das Überwachen des Ruhemodus ist deaktiviert.

Windows XP

Fügen Sie die folgenden Registrierungsschlüssel / Werte hinzu

  • [DWORD] HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system\shutdownwithoutlogon=1
  • [DWORD] HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\ShutdownWarningDialogTimeout=1

Wenn der Warndialog nicht abgelaufen ist, kann Folgendes hinzugefügt werden (Warnung  *)

  • [DWORD] HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Error Message Instrument\EnableDefaultReply=1

* Dies führt dazu, dass Windows automatisch auf zusätzliche Dialoge reagiert, beispielsweise die aktive Abmeldung von Benutzern erzwingt

Windows 7

Hinzufügen / Festlegen der folgenden Gruppenrichtlinienschlüssel / -werte

  • Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Shutdown: Allow system to be shut down without having to log on=Enabled
  • Computer Configuration\Administrative Templates\System\Display Shutdown Event Tracker=Disabled

ref, ref


0
2018-05-08 17:55