PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Win 10 - Wie feststellen, dass Windows in einer virtuellen Maschine läuft?


ShinyMcShine
2018-02-14, 13:19:44
Moin!

Ich habe hier ein kleines Skript, das verschiedene Einstellungen in Windows 10 setzt. Jetzt würde ich gerne in Abhängigkeit davon, ob Windows auf einer virtuellen Maschine läuft oder nicht ein paar Einstellungen unterschiedlich setzen.

Nun weiß ja Windows selbst, dass es in einer VM läuft, siehe Task-Manager -> Leistung -> CPU -> "Virtueller Computer: Ja".
Ich kann natürlich mittels PowerShell das Modell oder den Hersteller über (get-wmiobject win32_computersystem).model bzw. (get-wmiobject win32_computersystem).manufacturer auslesen. Dann bekomme ich aber für unterschiedliche Virtualisierungslösungen unterschiedliche Ergebnisse (Hyper-V, VMware, ...).

Ich hätte gerne gerne ein Ja/Nein-Ergebnis, wie es der Task-Manager anzeigt. Gibt es dafür ein PowerShell-Commandlet? Oder wo könnte man das sonst auslesen? Jemand eine Idee?

Danke und vG
Shiny

sei laut
2018-02-14, 14:12:02
Google spuckte das aus:
https://gallery.technet.microsoft.com/scriptcenter/Get-MachineType-VM-or-ff43f3a9
Dann ersparst du dir die Mühe, es selbst zu schreiben. :D

ShinyMcShine
2018-02-14, 15:32:54
Google spuckte das aus:
https://gallery.technet.microsoft.com/scriptcenter/Get-MachineType-VM-or-ff43f3a9
Dann ersparst du dir die Mühe, es selbst zu schreiben. :D

Das Skript habe ich auch gesehen. Ich habe allerdings gehofft, dass es dafür vielleicht unter Windows 10 mit PowerShell 5.x schon ein eigenständiges Commandlet gibt... :redface:

Schließlich bekommt der Task-Manager die Info ja auch irgendwo her und wertet sie aus. Ich glaube kaum, dass "Windows-intern" ein solches Skript nötig ist?

stimulator
2018-02-14, 18:21:45
Wenn Du einfach auf $MachineType != "Physical" prüfst?

Cherry79
2018-02-15, 05:22:52
Du hast aber schon gesehen, daß es keinen prüfbaren Wert "physical" gibt, sondern das nur die Default-"Vermutung" für den Machinetype ist, wenn vorher keiner der 3 VM-Varianten für $ComputerSystemInfo.Model gefunden wurde?
Das Skript würde z.B. (siehe Kommentare) z.B. für XEN oder KVM-basierte VMs auch "physical" ausgeben.

ShinyMcShine
2018-02-15, 09:04:19
Ja, leider scheint es kein simples Commandlet o.ä. (Registryeintrag zum Auslesen) zu geben. Ergo muss man auf verschiedene VM-Lösungen (VirtualBox, VMware, Hyper-V, Virtual-PC) hin testen.

Das artet fast schon aus... ;) Mal schauen, ob ich nicht doch noch etwas ganz simples finde.

Wie gesagt, da der Task-Manager diese Info ja hat und mittels Ja/Nein anbietet, dachte ich, dass man da auch irgendwie drankommt -> falsch gedacht :redface:.

Wenn ich nichts finde, schreibe ich mir entweder selbst was oder greife auf das verlinkte Skript zurück und werde es ein wenig anpassen...

Danke und vG
Shiny

ManuelCalavera
2018-02-15, 09:09:57
Aus Interesse:

Wo zeigt der Task Manager das denn an?

ShinyMcShine
2018-02-15, 09:19:20
Aus Interesse:

Wo zeigt der Task Manager das denn an?

Siehe Eingangspost:

Task-Manager -> Leistung -> CPU -> "Virtueller Computer: Ja" (rechts unten)

Ich muss mich da aber wohl korrigieren. Der TM zeigt nur "Virtueller Computer: Ja" an, wenn es eine VM ist. Es steht dann bei einer "nicht-VM" aber kein "Virtueller Computer: Nein".
Kann hier auch im Moment nur für den Windows 10-TM sprechen...

VG
Shiny

ManuelCalavera
2018-02-15, 09:40:35
Edit: Schlampig gelesen - kann ignoriert werden...

Lokadamus
2018-02-16, 13:37:19
Schmeißt der Befehl systeminfo etwas brauchbares raus? In der Commandline reintackern. Ist seit Win7 dabei, bei XP hin und wieder. :|
Edit: Bei XP ist der Befehl in der Pro Version vorhanden, nicht in der Home.

https://www.windows-faq.de/2010/02/02/systeminformationen-abfragen-mit-systeminfo/

ShinyMcShine
2018-02-16, 14:13:13
Schmeißt der Befehl systeminfo etwas brauchbares raus? In der Commandline reintackern. Ist seit Win7 dabei, bei XP hin und wieder. :|
Edit: Bei XP ist der Befehl in der Pro Version vorhanden, nicht in der Home.

https://www.windows-faq.de/2010/02/02/systeminformationen-abfragen-mit-systeminfo/

Nein, den hatte ich bereits ausprobiert. Wirft mir die gleichen Infos (und noch ein paar mehr aus), wie get-wmiobject win32_computersystem.

VG
Shiny