2

Ich laufe VirtualBox 5.0.16 auf Ubuntu 14.04. Ich habe eine virtuelle Maschine mit 32-Bit-Version von Windows7. Ich möchte das Programm auf dem Gast ausführen. Zuerst habe ich versucht, für diesen Zweck Python-Skript:Programm auf Gastbetriebssystem in VirtualBox laufen lassen

vbox = virtualbox.VirtualBox() 
session = virtualbox.Session() 
vm = vbox.find_machine('Windows7') 
vm.launch_vm_process(session, 'gui', '').wait_for_completion() 

session = vm.create_session() 
time.sleep(35) 
gs = session.console.guest.create_session('win7', '') 
process, stdout, stderr = gs.execute('C:\\Windows\\System32\\cmd.exe', ['/C', 'tasklist']) 
print stdout 

Maschine gut geht, aber ich kann kein Programm laufen, weil etwas folgende Fehler auslöst:

Traceback (most recent call last): File "runonguest.py", line 39, in gs = session.console.guest.create_session('win7', '') File "/usr/local/lib/python2.7/dist-packages/virtualbox/library_ext/guest.py", line 24, in create_session raise SystemError("GuestSession failed to start") SystemError: GuestSession failed to start

Nachdem ich versuchte, Befehlszeile in um Programm auf dem Gast auszuführen. So habe ich laufend virtuelle Maschine, und zu versuchen, folgenden Befehl auszuführen:

VBoxManage guestcontrol "Windows7" --username win7 run --exe C:\Windows\System32\cmd.exe --wait-stdout -- "C:\Windows\System32\cmd.exe" "/C" "tasklist" 

Aber es bringt mir nächste Fehler:

VBoxManage: error: VERR_ACCOUNT_RESTRICTED VBoxManage: error: Details: code VBOX_E_IPRT_ERROR (0x80bb0005), component GuestSessionWrap, interface IGuestSession, callee nsISupports VBoxManage: error: Context: "WaitForArray(ComSafeArrayAsInParam(aSessionWaitFlags), 30 * 1000, &enmWaitResult)" at line 938 of file VBoxManageGuestCtrl.cpp

ich nach möglichen Lösungen gesucht, aber die meisten von ihnen für ältere Versionen von VirtualBox wo Befehl run überhaupt nicht existiert. Es wäre schön, wenn jemand eine mögliche Lösung kennt. Danke.

Antwort

4

Access [Startmenü] und in [Suchprogramm und Dateien] type Run. Inside [Ausführungszeile] Typ gpedit.msc. Wechseln Sie dort zu Windows-Einstellungen -> Sicherheitseinstellungen -> Lokale Richtlinien -> Sicherheitsoptionen -> [Konten: Beschränken der lokalen Kontoverwendung leerer Passwörter zur Konsolenanmeldung nur] und setzen Sie sie auf Deaktiviert. Nach einem VM Neustart sollte gelöst werden.

+0

Vielen Dank. Ich habe nicht einmal in diese Richtung gedacht. Es funktioniert jetzt gut. – aGGeRReS

+0

Ich habe auch nicht im Moment dieses Problem gehabt :) – EugenG

0

Bis jetzt habe ich es geschafft, Programm auf dem Gast-Betriebssystem in VirtualBox zu starten. Die Lösung basiert auf der (undokumentierten, wie ich sehe) Tatsache, dass die VBox API die Sitzung gerade nicht startet, falls das Benutzerkonto kein Passwort hat. Also habe ich ein neues Benutzerkonto mit Passwort auf dem Windows7 von Gast erstellt.

Für Python schreiben Sie einfach:

In [15]: gs = session.console.guest.create_session('user', 'user') 

    In [16]: process, stdout, stderr = gs.execute('C:\\Windows\\System32\\cmd.exe', ['/C', 'tasklist']) 

    In [17]: print stdout 

    Image Name      PID Session Name  Session# Mem Usage 
    ========================= ======== ================ =========== ============ 
    System Idle Process    0 Services     0   12 K 
    System       4 Services     0  528 K 
    smss.exe      264 Services     0  688 K 
    csrss.exe      340 Services     0  2,824 K 
    wininit.exe     388 Services     0  3,128 K 
    csrss.exe      400       1  3,572 K 
    winlogon.exe     440       1  5,556 K 
..... 

Für Konsole Gebrauch nur schreiben:

VBoxManage guestcontrol "Windows7" --verbose --username user --password user run --exe "C:\\ 
Windows\\System32\\cmd.exe" -- cmd.exe /c tasklist 

Image Name      PID Session Name  Session# Mem Usage 
========================= ======== ================ =========== ============ 
System Idle Process    0 Services     0   12 K 
System       4 Services     0  532 K 
smss.exe      264 Services     0  688 K 
csrss.exe      340 Services     0  2,848 K 
wininit.exe     388 Services     0  3,128 K 
csrss.exe      400       1  3,572 K 
winlogon.exe     440       1  5,556 K 
...... 

Details Start:

Python 2.7.6
pyvbox 1.0.0
Host-Betriebssystem - Ubuntu 14.04
Gastbetriebssystem - Windows7 x32

VirtualBox 5.0.16

UPD: Nach Antwort des iugene die wirkliche Lösung war in Windows-Sicherheitsrichtlinien.

Access [Start menu] and in [search program and files] type Run. Inside [Run line] type gpedit.msc. There, go to Windows Settings -> Security Settings -> Local Policies -> Security Options -> [Accounts: Limit local account use of blank passwords to console logon only] and set it to Disabled. After a VM restart, should be solved.

Verwandte Themen