per cmd erkennen ob virtuell oder physikalisch

easy.2ci

Commodore
Dabei seit
Mai 2006
Beiträge
4.221
Hallo,

wir schreiben hier einige Scripte um Dinge zu automatisieren. Die Scripte werden auf eine große Zahl Rechner losgelassen, manche der Rechner sind virtuell, manche normale Desktop PCs.

Im Script brauche ich nun eine Erkennung, ob das aktuelle System virtuell oder physikalisch ist. Meine bisheriger Ansatz über den Namen des Netzwerk oder Grafikkarten Adapters zu gehen klappt nicht. Diese kann ich zwar mittels wmic auslesen, aber wir haben mehrere Virtualisierungslösungen (VirtualBox, VMware, Hyper-V) und auch bei einem der Produkte können sich je nach Version die Bezeichnungen der Treiber ändern.

Hat einer ne Idee wie man das machen kann? Muss von der Kommandozeile aus klappen, kein Perl, Python etc.
 

Revolution

Commodore
Dabei seit
März 2008
Beiträge
4.917
Du kannst den Punkt Systemhersteller abfragen da steht der Hersteller der VM drinnen z.B.

Systemhersteller: VMware, Inc.
Systemmodell: VMware Virtual Platform

So steht es zumindest unter Systeminfo drinnen, mit wmic kann man das aber auch abfragen nur weis ich da gerade nicht das Command.
 
Zuletzt bearbeitet:

Lawnmower

Fleet Admiral
Dabei seit
Mai 2011
Beiträge
11.775
vielleicht kommst Du mit dem Befehl "systeminfo" weiter (also jetzt für Windows Server).
Wahrscheinlich wirst Du nicht drumherum kommen alle Möglichkeiten einzubeziehen - ein Flag "isVirtual" gibts afaik nicht.

Code:
systeminfo | findstr /C:"System Manufacturer"
Bei einem Server der in Vmware läuft bekomme ich dann sowas zurück:
Code:
System Manufacturer:       VMware, Inc.
 
Zuletzt bearbeitet:

puri

Commodore
Dabei seit
Apr. 2011
Beiträge
4.216
Über den PC-Namen ? Unsere hier haben alle ein "VM" mitdrin, damit wir selbst noch durchblicken .
Trotzdem machen wir es in unserem Softwareverteilungssystem entweder über den Hersteller - oder über die MAC, speziell das mit der MAC funktioniert 100%.
 

KaeTuuN

Rear Admiral
Dabei seit
Okt. 2002
Beiträge
5.177
Nutzen bei mir in der Firma mehrere Methoden:
- Getrennte IP Bereiche
- Eigens eingestellte MAC Adressen
- Eigene Bereiche für PC-Namen
- Eigene OUs im AD
Wenn du davon nichts hast, dann wirds sehr schwer.

Mfg Kae
 
Dabei seit
Sep. 2011
Beiträge
206
Ich habe bei Debian 6.0 in VirtualBox angeschaut und Suse 12.1 als Host verglichen.
Unterschiede gibt es in /dev:

suse (host)
/dev/vboxdrv
/dev/vboxnetctl

debian
/dev/vboxguest
/dev/vboxuser

Dies wollte ich bei Fedora 16 als Gast überprüfen. Dort gab es das nicht, ich habe aber festgestellt, dass dort die vboxadditions nicht richtig installiert waren, weil die kernel-source nicht da waren. Auf der Suche nach den Sourcen, fand das Paket "virt-what-1.11-1.fc16".
virt-what ist ein script. Da kann man ja ein bischen abschreiben ;-)

edit:
Nach der Installation von vboxadditions gibt es auch in fedora /dev/vboxguest und /dev/vboxuser
 
Zuletzt bearbeitet:
Top