powershellnewbie1
Goto Top

Hyper-V VM komplett über PowerShell installieren

Ein Hallo an alle in diesem Forum.

Ich bin neu im Thema PowerShell und komme nach Internetrecherche einfach nicht weiter. Vielleicht hat ja jemand ein Tip.

Zu meinem Anliegen:

Ich möchte eine VM auf einem W2012R2 x64 Server eine VM komplett in PowerShell installieren ohne den Hyper-V Manager zu benutzen.

Ich hab bisher folgendes in PowerShell durchgeführt:

1. New-VM -Name NEW-VM1 -Path H: -MemoryStartupBytes 2GB
2. Set-VMProcessor NEW-VM1 -Count 2
3. New-VHD -Path H:NEW-VM1.vhdx -SizeBytes 20GB -Fixed
4. Add-VMHardDiskDrive -VMName NEW-VM1 -Path "H:NEW-VM1.vhdx"
5. Set-VMDvdDrive -VMName NEW-VM1 -ControllerNumber 1 -Path C:\OS.iso
6. Start-VM -Name NEW-VM1

Jetzt möchte ich das Betriebssystem weiter installieren ohne den Hyper-V Manger zu benutzen. Weiß jemand wie ich da weiterkomme? ICh weiß Hyper-V Manager wäre einfacher, aber ich möchte es komplett ohne den Hyper-V Manger installieren. Mir fehlt also (vermutlich) Schritt 7. im oben genannten Ablauf.

Für einen Tip wäre ich sehr dankbar. Der Screenshot zeigt eine Ansicht im Hyper-V Manager, den ich wie gesagt umgehen möchte.
ps1

Content-Key: 343308

Url: https://administrator.de/contentid/343308

Ausgedruckt am: 28.03.2024 um 13:03 Uhr

Mitglied: 133417
133417 13.07.2017 aktualisiert um 11:39:11 Uhr
Goto Top
Automate Windows Setup

Du solltest dir aber auch mal Desired State Configuration und WIM Images anschauen. Da erzeugst du dir ein Image und ziehst das ohne Windows-Setup direkt auf die VHDX der VM.
Creating Bootable Virtual Hard Disks

Gruß
Mitglied: psannz
psannz 13.07.2017 um 11:49:40 Uhr
Goto Top
Sers,

Als Alternative zu DSC: Stichwort "unattend.xml"

Technet: Windows Server 2016: Unattended installation

Grüße,
Philip
Mitglied: PowerShellNewbie1
PowerShellNewbie1 13.07.2017 um 13:37:17 Uhr
Goto Top
Hi. Vielen Dank für die Infos zu DSC und unattend.xml. Das sind sicher Themen, mit welchen ich mich auseinandersetzen muss.

Was ich aber gerne hätte, wäre der Aufruf des Dialogs bezüglich Betriebssystemeinstellungen (mein Screenshot in der Frage).

Bitte nicht falsch verstehen. Ich bin sehr dankbar über jeden konstruktiven Kommentar. Aber im Moment würde es mir reichen, wenn ich den Dialog über PowerShell aufrufen könnte.
Mitglied: 133417
133417 13.07.2017 aktualisiert um 13:47:15 Uhr
Goto Top
Aber im Moment würde es mir reichen, wenn ich den Dialog über PowerShell aufrufen könnte.
Geht nicht, der Dialog ist Teil des Windows-Setups das in der VM läuft, der lässt sich nur über die Unattend.xml automatisieren. Den kannst du nicht "aufrufen", das Setup läuft ja in einer PE Umgebung und darauf gibt es kein API worauf die PS direkt zugreifen könnte.
Du verstehst da leider noch was ganz falsch, sorry.
Mitglied: PowerShellNewbie1
PowerShellNewbie1 13.07.2017 aktualisiert um 14:04:42 Uhr
Goto Top
OK. Das (ich nicht darauf zugreifen kann) ist schon mal eine wichtige Information und lässt mich nicht weiterhin Stunden verbraten. Danke.
Dann werde ich mich mal mit dem Thema auseinandersetzen.

Nochmal kurz zu meinen Anforderungen (vielleicht sind die Fragen für einen Experten blöd - Sorry schonmal hierfür face-sad ):

• Ich möchte eine VM erstellen, die nach der Installation auf Hyper-V läuft.
• Wenn die Installation durch ist möchte ich über RDP darauf zugreifen.
• Ich möchte das ohne jegliches GUI machen - geht das überhaupt?

• Die IP Einstellungen, die Aktivierung von Remote Desktop und so weiter, erstelle ich in dem "unattend.xml", oder hab ich da was falsch verstanden?
• Ist da vielleicht irgendwo eine verständliche Anleitung für Anfänger vorhanden ;) - ich hab schon mal recherchiert und das hier gefunden:
https://www.youtube.com/watch?v=50rxYNni548

(Das Thema Desired State Configuration sieht für mich als Anfänger in diesem Thema noch etwas zu schwierig aus.).
Mitglied: 133417
133417 13.07.2017 aktualisiert um 14:19:59 Uhr
Goto Top
Zitat von @PowerShellNewbie1:
• Ich möchte eine VM erstellen, die nach der Installation auf Hyper-V läuft.
• Wenn die Installation durch ist möchte ich über RDP darauf zugreifen.
• Ich möchte das ohne jegliches GUI machen - geht das überhaupt?
Ja.
• Die IP Einstellungen, die Aktivierung von Remote Desktop und so weiter, erstelle ich in dem "unattend.xml", oder hab ich da was falsch verstanden?
Jip, geht per Skript das du in der abschließenden Stage des Unattends laufen lässt.
• Ist da vielleicht irgendwo eine verständliche Anleitung für Anfänger vorhanden ;) - ich hab
Findest du alles bei MS und hier
https://technet.microsoft.com/de-de/library/mt158221(v=vs.85).aspx
Wie erstelle ich ein an meine Bedürfnisse angepasstes Installationsimage von Windows?

Ums lesen kommst du nicht drum herum, Videos würde ich dafür nicht nehmen wollen, damit lernst du null, vor allem vergisst du das schneller wieder als du denkst.
Mitglied: PowerShellNewbie1
PowerShellNewbie1 13.07.2017 aktualisiert um 16:40:15 Uhr
Goto Top
OK. Ich bin jetzt an der Vorbereitung des Betriebssystemes (Gleich kommt SYSPREP). Ich gehe nach dieser Anleitung vor (Dein Tip):

Wie erstelle ich ein an meine Bedürfnisse angepasstes Installationsimage von Windows?

Danach versuche ich das ganze über PowerShell wie in der Frage erwähnt (Punkt1-6 - hier fehlt noch der Netzwerkadapter).

Ich hoffe ich hab da jetzt nicht schon wieder einen Denkfehler. Ich stelle mir das so vor:

1. Image wie in der von Dir vorgeschlagenen Anleitung erstellen und mit SYSPREP einfrieren
2. Über PowerShell die Punkte 1-6 durchgehen und zusätzlich den Netzwerkadapter einbinden - dann als VM (ohne den Hyper-V Manager) installieren
3. Über RDP auf den Rechner zugreifen

Der Sinn und Zweck des ganzen ist, dass ich komplett den Hyper-V Manager umgehe (bei der Installation) um alles anschliessend (VM starten/ beenden) über PowerShell zu warten.

Ich hoffe das geht wie ich mir das so vorstelle.
Mitglied: 133417
133417 13.07.2017 aktualisiert um 16:47:03 Uhr
Goto Top
Bei einem mit Sysprep vorbereiteten Image brauchst du das OS nicht mehr installieren, das wird dann einfach auf die VHDX gebügelt, da ja fertiges Image.
Zu RDP
http://windowsitpro.com/windows/enable-remote-desktop-using-powershell
Kannst du aber wenn du jetzt schon ein Image vorbereitest im Image direkt freischalten.
Mitglied: PowerShellNewbie1
PowerShellNewbie1 14.07.2017 um 15:23:54 Uhr
Goto Top
Mal einen kurzen Zwischenstand.

Die letzte Aktion, die ich gemacht habe, ist der Versuch ein INstallationsabbild (mit eingelegtem PE.ISO) zu erzeugen. Ich hab von dem ISO gestartet
(alles im Hyper-V Manager) und die Datei install.wim nach der Anleitung Wie erstelle ich ein an meine Bedürfnisse angepasstes Installationsimage von Windows? zu erzeugen. Im Moment bin ich bei dieser Aktion:

dism /capture-image /imagefile:z:\install.wim /capturedir:c:\ /name:Win8-1-Ent-angep

Das install.wim wird auch erzeugt. Wenn ich aber im Bereitstellungsserver auf "Installationsabbilder" gehe, dann erscheint die Meldung "kein gültiges Installationsabbild"

Mich wundert es, das dass Installationsabbild so klein ist (360MB). In der Anleitung ist das auch in der Größenordnung (195MB).
Ich kenne es größer (Im Gigabytebereich) - aber das nur am Rande.

Vielleicht jemand eine Idee wieso das Installationsabbild nicht gültig ist (was mach ich falsch face-sad)
i_abbild
k_gültiges_iabbild
Mitglied: 133417
133417 14.07.2017 aktualisiert um 16:11:17 Uhr
Goto Top
Mich wundert es, das dass Installationsabbild so klein ist (360MB).
Du hast die falsche Partition gecaptured, nämlich nur die Bootpartition anstatt die Windows-Partition face-wink!
Mitglied: PowerShellNewbie1
PowerShellNewbie1 17.07.2017 um 17:48:11 Uhr
Goto Top
OK. Danke für den Hinweis mit der Windowspartition. Jetzt hat das WIM File eine Größe von circa 4GB.

Ich hab jetzt eine gefühlte Ewigkeit gebraucht, bis ich den Parameter für das Zuordnen der Netzwerkkarte per PowerShell gefunden habe (wahrscheinlich hab ich den Wald vor Bäumen nicht gesehen)...

Diesen Parameter hab ich genutzt falls es jemand interessiert: Add-VMNetworkAdapter -VMName VM-NEW4 -SwitchName "Name in Anführungszeichen damit Windows das als Name interpretiert"

Im bereitstellungsserver hab ich das Image auch als Startabbild hinzugefügt (die Snapshots haben viele Probleme verursacht - ich musste viermal Neu anfangen - ist aber erstmal nicht so wichtig).

Jetzt weiß ich nur nicht so ganz wie die Installation funktionieren soll, da ja oben erwähnt wurde, dass ich nicht auf das Windows PE zugreifen kann.

Zitat von @133417:

Aber im Moment würde es mir reichen, wenn ich den Dialog über PowerShell aufrufen könnte.
Geht nicht, der Dialog ist Teil des Windows-Setups das in der VM läuft, der lässt sich nur über die Unattend.xml automatisieren. Den kannst du nicht "aufrufen", das Setup läuft ja in einer PE Umgebung und darauf gibt es kein API worauf die PS direkt zugreifen könnte.
Du verstehst da leider noch was ganz falsch, sorry.


Oder hab ich das komplett falsch verstanden vom Ablauf her? Und zwar auf die VHDx Datei das ganze mit einem Imagetool schreiben und dann erst als VM einbinden? Dann bleibt aber immer noch das Problem mit dem Bootsector... Da muss ich ja in den Hyper-V Manager um da einen Tastendruck tätigen, damit vom ISO gebootet wird.

Ich möchte den Hyper-V Manager aber komplett umgehen. Sorry. Ich weiß, das ist etwas Chaos bei mir. Aber ich bin in der Situation des Lernenden.
Bin für weitere Hilfe sehr dankbar.
Mitglied: PowerShellNewbie1
PowerShellNewbie1 19.07.2017 um 10:18:12 Uhr
Goto Top
Ich hab das falsch verstanden. Jetzt ist es nach einigem Nachdenken klarer. Ich muss bis zum oberen Punkt gehen (Image mit SYSPREP ziehen), und dann weiter mit der unattend.xml machen. Da bin ich gerade dran.

Mein Plan ist folgender:

1. ISO mit gezogenem Image + unattend.xml erstellen.
2. Alles so einrichten wie in der Frage erwähnt (siehe ganz oben meine Frage Punkt1-6)
3. Die VM im Hyper-V starten und hoffen, dass dies jetzt der richtige Weg ist
Mitglied: PowerShellNewbie1
PowerShellNewbie1 19.07.2017 aktualisiert um 17:18:04 Uhr
Goto Top
Irgendwie klappt das noch nicht. Ich weiß im Moment noch nicht so genau wo ich das schauen sollte. Vermutlich im der unattended.xml.

Aber wo? Hat vielleicht noch eine Idee? Ich bekomme den unten gezeigten Fehler...
boot