Ho una casella di Windows 7 con più macchine VMWare Player avviate all'avvio. Io uso WMware VIX e un file batch per l'arresto delle macchine virtuali in questo modo:Eseguire un file batch sull'arresto di Windows 7 prima di chiudere i programmi (preferibilmente premere il pulsante di accensione)
"C:\path\to\VMWare VIX\vmrun.exe" -T player stop "C:\path\to\machine.vmx" soft
Quello che voglio realizzare è quello di eseguire questi comandi quando la macchina host è spento, in modo che non ho bisogno di chiudere giù ogni VM separatamente. Una volta implementato, gli arresti verranno probabilmente avviati con una breve pressione del pulsante di accensione ACPI, non dal menu Start. Modi che ho provato che non funzionano (o almeno non abbastanza bene):
criteri di gruppo - il modo più ovvio per andare, ma in Windows 7, la possibilità di eseguire gli script in modo asincrono shutdown '' è andato.
Il risultato è che Windows prima indica a tutte le finestre aperte di chiudersi, le macchine virtuali rispondono che sono in uso e si ottiene la finestra di dialogo "Chiusura forzata". Solo dopo VMWare Player e tutto il resto è chiuso vengono eseguiti gli script, per non utilizzare.
Si potrebbe pensare che questo potrebbe essere cambiato, ma penso di ricordare di aver visto alcune note ufficiali della MS sulla falsariga di "no, scusa". Non riesco a trovare il collegamento però.Utilizzare un file batch che chiude tutte le macchine virtuali e quindi arresta l'host come collegamento sul desktop anziché il solito pulsante di arresto. - Funziona, e questo è quello che sto usando in questo momento durante lo sviluppo.
Tuttavia, l'utilizzo del pulsante di accensione ACPI avvia un normale arresto con lo stesso risultato di prima e sarebbe meglio se l'utente finale che accende e spegne la macchina ogni giorno non avrebbe bisogno di utilizzare un monitor e un mouse .
Quindi quello che sto cercando su google in questo momento è un modo per modificare l'azione chiamata quando si preme il pulsante di accensione fisica. Windows ti permette di scegliere tra alcune azioni diverse come Sleep, Hibernate, Restart etc, ma potresti cambiarlo in 'Esegui .bat'? O forse cambia il comportamento del comando shutdown del tutto?Intercettare programmaticamente il messaggio di arresto, interrompere l'arresto, eseguire il file batch, riavviare l'arresto. C'è stata una discussione sull'intercettazione dell'arresto, ad es. here, here e here, ma sono ancora troppo di un n00b in tutte le lingue tranne forse Ruby o Java per capire veramente se e come potrebbe essere fatto in questo caso. Se qualcuno può chiarire come fare realmente questo lavoro (senza rimanere bloccato sulla schermata 'Forza chiusura'), allora sono desideroso di provare qualsiasi lingua tu offra.
In base alla mia esperienza, la maggior parte delle preferenze di Workstation può essere impostata manualmente in Player modificando il file .vmx per VM o il file preferences.ini in% appdata% \ VMware. ([Sanbarrow.com] (http://sanbarrow.com/vmx.html) ha un eccellente riferimento su quali parametri impostare.) Ho provato a impostare 'pref.backgroundOnClose =" true "' in preferences.ini, ma chiude comunque giù alla chiusura della finestra. Inoltre, allo spegnimento continuo a rimanere bloccato sulla schermata 'Force close'. Ma ottima idea, giocherò con le impostazioni e riferirò. – lime
Ok, quindi il parametro è 'pref.vmplayer.exit.vmAction =" disconnect "' e fa quello che dice quando si chiude manualmente (con un messaggio di errore bonus su Win7, non su XP). Tuttavia, quando si spegne, il lettore host segnala come sempre che la macchina è in uso e non si chiude nemmeno in questo stato disconnesso. Potrebbe provare con Workstation, ma sono dubbioso. – lime