So erhalten Sie den Namen des VirtualBox-Gasts vom Gast

649
TinyTheBrontosaurus

Gibt es in VirtualBox eine Möglichkeit, den Namen einer Gast-VM aus diesem Gast herauszufinden? Am nächsten fand ich VBoxControl guestproperty enumerate, dass dies jedoch keine der oben genannten Werte enthielt. Ich verwende VirtualBox 5.1.20, Windows Server 2012 auf dem Gast, und Gastzugänge werden installiert.

Hinweis Ich kann diese Informationen vom Host abrufen, wenn ich anrufe VBoxManage list vms.

Es wäre auch ausreichend, wenn ich vom Host über "etwas String-Eigenschaft" setzen VBoxManagekönnte, die vom Gast über gelesen werden könnteVBoxControl

1
Zugehörige Frage: Weiß die VM, dass sie von VirtualBox ausgeführt wird? Biswapriyo vor 6 Jahren 0
VirtualBox Guest Additions sind installiert, also würde ich ja sagen TinyTheBrontosaurus vor 6 Jahren 0
aber noch besser, wenn ich auf Gästezusätze verzichten könnte! TinyTheBrontosaurus vor 6 Jahren 0
Ich weiß nicht, ob es möglich ist, aber ich denke, Sie benötigen dies, um in der Lage zu sein, auf welcher VM Sie sich befinden, während Sie mehrere Male geöffnet haben. Meine Lösung dafür war, verschiedene Farbthemen auf den verschiedenen VMs zu erstellen. Hoffe, das hilft dir auch, wenn nicht, kann es vielleicht anderen helfen konqui vor 6 Jahren 0
Ha! Ich habe die Hintergrundsache schon gemacht, wenn ich mit VMs jongliere. Das ist sehr nötig. Aber für dieses Problem suche ich nach einer programmatischen Lösung, die Protokolle enthält, die eine VM angeben. TinyTheBrontosaurus vor 6 Jahren 0
Mit `dmidecode` kann für` windows` Glück gehabt werden: https://serverfault.com/questions/171524/virtualbox-get-guest-uuid-from-within-the-guest-computer Arkadiusz Drabczyk vor 6 Jahren 0
Ich habe "wmic" ausprobiert, von dem ich gelesen hatte, dass es das Äquivalent wäre, aber es hatte keine dieser Informationen TinyTheBrontosaurus vor 6 Jahren 0
Dasselbe gilt für `systeminfo` TinyTheBrontosaurus vor 6 Jahren 0
Ich habe DMI und nichts überprüft. Es sollte in der OEM-Definition der Chassis-Informationen enthalten sein, aber nicht. Theoretisch kennt VBoxService den Status der VM, aber nicht unbedingt die Namensmetadaten. Ich denke es sollte. jdwolf vor 6 Jahren 0

1 Antwort auf die Frage

2
TinyTheBrontosaurus

Ich habe Glück, indem ich das guestpropertyin VBoxManageund einstelle VBoxControl.

Auf dem host:

VBoxManage guestproperty set SampleVm GuestName SampleVm 

Dann auf den Gast:

VBoxControl --nologo guestproperty get GuestName 

Nachteile sind, dass dies VirtualBox Guest Additions (für VBoxControl) und einen zusätzlichen Aufruf vom Host erfordert.

Dies ist angemessen für mein Problem, weshalb ich es gepostet habe. Aber ich werde die Antwort nicht akzeptieren, da ich mir vorstellen kann, dass es eine bessere Antwort gibt TinyTheBrontosaurus vor 6 Jahren 0
Was bekommt "wmic csprodct" auf "guest" zurück? Arkadiusz Drabczyk vor 6 Jahren 0
Nett. Das gibt in der Tat die UUID zurück. Aber ich sehe den Namen nirgendwo. Auf diese Weise könnte ich eine UUID-zu-Name-Nachschlagetabelle erstellen und sie mit allen Gästen teilen. TinyTheBrontosaurus vor 6 Jahren 0
FWIW gibt es einen Tippfehler: `wmic csproduct get uuid ' TinyTheBrontosaurus vor 6 Jahren 0
Es kann sich um eine UUID der virtuellen Maschine handeln. Suchen Sie in VBoxManage list vms auf dem Host danach. Arkadiusz Drabczyk vor 6 Jahren 0
Ja. Es ist definitiv die UUID der VM TinyTheBrontosaurus vor 6 Jahren 0
Steht es auf der Liste? Arkadiusz Drabczyk vor 6 Jahren 0
Die `VBoxManage list vms` ist die UUID-zu-Name-Lookup-Tabelle, auf die ich einige Kommentare zurückführte. Ich brauche eine Möglichkeit, diese an die Gast-VMs zu senden, um mir den Namen des Gasts zu geben. Sicher machbar TinyTheBrontosaurus vor 6 Jahren 0
Ja, die von "wmic" zurückgegebene UUID stimmt mit der UUID in "VBoxManage list vms" überein. So wusste ich, dass "wmic" die korrekte UUID des Gastes zurückgegeben hat TinyTheBrontosaurus vor 6 Jahren 0
Ist das eine endgültige Antwort für Ihre Frage? Wenn ich Sie wäre, würde ich mich nur darauf verlassen. Der Name kann geändert werden. Beispielsweise können Sie Ihre `Windows`-Maschine eines Tages in` Windows_old` umbenennen, und Sie müssen die Tabelle auf dem Gast aktualisieren. Arkadiusz Drabczyk vor 6 Jahren 0
ist die endgültige Antwort? die Antwort, gegen die diese Kommentare geschrieben wurden? Oder die Antwort, die wir in den Kommentaren durchgingen? Das eine in den Kommentaren ist sicherlich * eine * Antwort, aber IMO ist schwierig, da es die Übertragung der `VBoxManage list vms'-Lookup-Tabelle von Host zu Gast beinhaltet TinyTheBrontosaurus vor 6 Jahren 0
Wenn sich die Namen ändern, möchte ich, dass die Gast-VM diesen neuen Namen hat. nicht der alte Name TinyTheBrontosaurus vor 6 Jahren 0
Es ist nicht notwendig, eine virtuelle Liste in eine Liste zu verwandeln, wie ich gerade sagte, das würde ich wirklich nicht tun. Sie haben immer eine gültige UUID, das reicht. Arkadiusz Drabczyk vor 6 Jahren 0
genug für was? Ich weiß Ihre Hilfe zu schätzen, aber die Frage ist, den Namen zu bekommen, nicht die UUID. TinyTheBrontosaurus vor 6 Jahren 0
Die Antwort ist, dass es in 'virtueller Maschine' ohne manuelle Arbeit nicht möglich ist. Arkadiusz Drabczyk vor 6 Jahren 0