Erzeugen eines aktuellen ISO Images via PS
Verfasst: 19.02.2023, 09:13
Für ganz neue Server benötige ich mal eine ISO-Datei des ESXi mit aktuellem Patchstand. Das habe ich früher mit der Windows PowerCLI 6.5 getan, aber diese ist nun schon etwas angestaubt und unterstützt daher auch einige neue Metadaten nicht.
Das Verfahren für eine aktuelle PowerShell (7.3.2) mit aktueller PowerCLI (13.0) sah bei mir so aus:
1. Python 3.7 installieren - ob im Userkontext oder systemweit, ist egal. Ja, es muss genau 3.7 sein.
2. "get-pip" von https://bootstrap.pypa.io/get-pip.py herunterladen
3. "get-pip" unter Python 3.7 ausführen
pip wird je nach Kontext installiert.
4. Python 3.7 Module installieren
5. Powershell starten
6. PowerCLI aus der PSGallery installieren
7. Das Core Modul importieren
8. Den Python Pfad setzen
9. Die Base Images aus dem Depot auslesen
Sollte hier der Python-Fehler erscheinen, die PowerShell ggf. neu starten.
Die Ausgabe
zeigt das aktuelle und ein "Security Only"-Image (aus dem die Depot-Profile mit angehängtem kleinen "s" kommen), das auf einem etwas früheren Build basiert.
10. Eine json-Datei erzeugen, die den Inhalt des ISOs bestimmt.
Hier könnte man weiter Depots (diese müssen dann auch im nächsten Schritt angegeben werden), aktualisierte Treiber oder zusätzliche VIBs spezifizieren.
11. Das Image erzeugen
Weiterlesen:
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-83DB452B-669A-4270-8E0D-B902188376D3.html
https://developer.vmware.com/docs/15315//GUID-9081EBAF-BF85-48B1-82A0-D1C49F3FF1E8.html
Das Verfahren für eine aktuelle PowerShell (7.3.2) mit aktueller PowerCLI (13.0) sah bei mir so aus:
1. Python 3.7 installieren - ob im Userkontext oder systemweit, ist egal. Ja, es muss genau 3.7 sein.
2. "get-pip" von https://bootstrap.pypa.io/get-pip.py herunterladen
3. "get-pip" unter Python 3.7 ausführen
Code: Alles auswählen
python-Pfad/python3.7 get-pip-Pfad/get-pip.py
pip wird je nach Kontext installiert.
4. Python 3.7 Module installieren
Code: Alles auswählen
pip3.7-Pfad/pip3.7 install six psutil lxml pyopenssl
5. Powershell starten
6. PowerCLI aus der PSGallery installieren
Code: Alles auswählen
Install-Module VMware.PowerCLI
7. Das Core Modul importieren
Code: Alles auswählen
Import-Module VMware.VimAutomation.Core
8. Den Python Pfad setzen
Code: Alles auswählen
Set-PowerCLIConfiguration -PythonPath python-Pfad/python3.7 -Scope User
9. Die Base Images aus dem Depot auslesen
Code: Alles auswählen
Get-DepotBaseImages -Depot Depot-Pfad/VMware-ESXi-8.0b-21203435-depot.zip
Sollte hier der Python-Fehler erscheinen, die PowerShell ggf. neu starten.
Die Ausgabe
Code: Alles auswählen
Version Vendor Release date
------- ------ ------------
8.0.0-1.20.21203435 VMware, Inc. 02/13/2023 23:00:00
8.0.0-1.15.21203431 VMware, Inc. 02/13/2023 23:00:00
zeigt das aktuelle und ein "Security Only"-Image (aus dem die Depot-Profile mit angehängtem kleinen "s" kommen), das auf einem etwas früheren Build basiert.
10. Eine json-Datei erzeugen, die den Inhalt des ISOs bestimmt.
Code: Alles auswählen
{
"base_image": {
"version": "8.0.0-1.20.21203435"
}
}
Hier könnte man weiter Depots (diese müssen dann auch im nächsten Schritt angegeben werden), aktualisierte Treiber oder zusätzliche VIBs spezifizieren.
11. Das Image erzeugen
Code: Alles auswählen
New-IsoImage -Depots Depot-Pfad/VMware-ESXi-8.0b-21203435-depot.zip -SoftwareSpec Spec-Datei-Pfad/Spezifikation.json -Destination ISO-Pfad/VMware-ESXi-8.0b-21203435.iso
Weiterlesen:
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.install.doc/GUID-83DB452B-669A-4270-8E0D-B902188376D3.html
https://developer.vmware.com/docs/15315//GUID-9081EBAF-BF85-48B1-82A0-D1C49F3FF1E8.html