Ist es möglich, eine virtuelle VMware-Maschine im Hintergrund als Windows-Dienst automatisch zu starten und beim Herunterfahren von Windows elegant herunterzufahren?

Der Host ist Windows 7. Ich möchte, dass meine virtuelle Maschine mit Windows im Hintergrund startet, ohne sich bei Windows anmelden und manuell starten zu müssen. Ich hoffe auch, dass die virtuelle Maschine beim Herunterfahren von Windows elegant heruntergefahren werden kann.

Gibt es ein Skript / eine App, die dies tut?

Author: bfrguci, 2016-02-19

5 answers

Wenn Sie VMware Workstation verwenden, können Sie die VM zu einer "freigegebenen VM" machen und sie so konfigurieren, dass sie automatisch gestartet wird (klicken Sie in der Bibliothek mit der rechten Maustaste auf "Freigegebene VMs" und wählen Sie "AutoStart-VMs verwalten"). Standardmäßig werden freigegebene VMs beim Herunterfahren des Hosts einer harten Abschaltung unterzogen. Sie können dies ändern, indem Sie %PROGRAMDATA%\VMware\hostd\vmAutoStart.xml bearbeiten und den Wert stopAction in GuestShutdown ändern (oder in Suspend, wenn Sie die VM lieber anhalten möchten). Sie müssen den VMware Workstation Server-Dienst nach Änderungen neu starten zu dieser Datei (und Sie sollten alle freigegebenen VMs herunterfahren, bevor Sie den Dienst neu starten).

Update: In Workstation Pro 14 lautet der Kontextmenüeintrag jetzt "VM-Energieaktionen verwalten" und unterstützt nun das Konfigurieren einer VM, die beim Herunterfahren des Hosts automatisch angehalten wird.

 19
Author: jamesdlin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-12-24 09:08:19

Sie können auch den Befehl vmrun verwenden.

Sie können ein Skript verwenden, um eine VM zu starten, zum Beispiel:

vmrun -T ws start "F:\VMWare-VMs\S1.vmx"

Und Sie fügen das Skript beim Windows-Start hinzu.

Mehr Infos über vmrun

 19
Author: Roderick Decker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-11-12 12:00:11

Ich verwende VMware Workstation 15.5.2 und starte meine Background-VMs mit folgendem Befehl:

vmrun start "C:\VMs\D10AMP\D10AMP.vmx" nogui

Die VM startet im Hintergrund und es öffnet sich kein VMware-Fenster.

 1
Author: scotty86,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-05-19 21:26:39

Freigegebene VMs sind veraltet:

Https://communities.vmware.com/t5/VMware-Workstation-Pro/Shared-VMs-are-back-in-Workstation-16-1/td-p/2811423

Die Funktion für gemeinsam genutzte virtuelle Maschinen (VMware Workstation als Server) lautet veraltet sein. Es wird für den Rest in seiner jetzigen Form bleiben der VMware Workstation 16 Produktlebensdauer. Diese Funktion wird nicht sein verfügbar in einer zukünftigen Version.

Es gibt eine Problemumgehung. Sie können sie immer noch manuell starten mit taskplaner über vmrun. Aber ich habe das nicht persönlich gemacht, also kann ich keine Details angeben.

Große News-Update: I gefunden. Januar 2021 Diskussion, wo mikeroySoft von VMware hüpfte mit einige mehr details:

Um klar zu sein, es ist wirklich nur das untermauernde Framework, das wir sind verwenden, um diese Funktion bereitzustellen, die veraltet ist. Ich erwarte, wir werden haben Sie einen neuen Weg, um 'Autostart VMs' in der Zukunft.

Die Shared vm-Funktion verwendet diese Funktion komponente von ESXi, die sort hat natürlich seinen Lauf, wenn auf unseren Stapel portiert. (Hostd für diejenigen, die neugierig...- ) aber wir suchen um dies zu implementieren, ohne hostd in der Zukunft.

Die Antwort lautet also: Die aktuelle Funktion wird in VMware Workstation 17 entfernt. Glücklicherweise suchen sie nach Möglichkeiten, Autostart-VMs auf andere Weise zu implementieren, nachdem diese Funktion "Shared VMs" entfernt wurde. Hoffentlich ist die neue Methode sofort bereit, wenn Version 17 gestartet wird.

 0
Author: Mitch McMabers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-21 03:50:05

Danke für scotty86 ' s Methode, ich biete nur eine elegantere Methode mit VBS, die kein cmd-Fenster öffnet, wenn der Befehl ausgeführt wird.

Speichern Sie den folgenden Code als vmrun.vbs im Startordner.

Set oShell = CreateObject ("Wscript.Shell")
Dim cmdStrs : cmdStrs = Array( _
    """C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"" start ""C:\Virtual Machines\Debian_10_01\Debian_10_01.vmx"" nogui", _
    """C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"" start ""C:\Virtual Machines\Debian_10_02\Debian_10_02.vmx"" nogui" _
)

For Each cmdStr In cmdStrs
    oShell.Run cmdStr, 0, false
Next
 0
Author: scott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-21 13:38:21