Install

Automatisierte Erstellung von Citrix Provisioning Server VHDs

In diesem Artikel beschreibe ich die einzelnen Schritte die dazu notwendig sind, um eine VHD Datei automatisiert über Kommandozeilenbefehle zu erzeugen. Dabei spielt es keine Rolle, in welchem Netz sich das Mastersystem befindet.

Bei Verwendung des Citrix Imaging Wizard muss sich das System in dem Netz befinden, in dem es den Citrix Provisioning Server über PXE erreicht. Ebenfalls muss das System in der Citrix Provisioning Server Konsole hinterlegt sein.

Über den unten aufgeführten Prozess muss das System weder den Citrix Provisioning Server über PXE erreichen, noch muss das System in der Citrix Provisioning Server Konsole hinterlegt sein.

Um diesen Prozess rein über Kommandozeilenbefehle abzubilden, muss eine leere dynamische VHD vorbereitet werden. Diese kann nur den Citrix Imaging Wizard erzeugt werden, da eine leere VHD, die über die Citrix Provisioning Server Konsole erstellt wurden nicht funktioniert hat. Hier hat das p2pvs.exe Tool immer den Fehler „Provisioning Services vDisk was not found“ gebracht.

Diese leere VHD kann standardmäßig auf dem Citrix Provisioning Server vorgehalten und bei Nutzung dupliziert und umbenannt werden.

  1. Mounten der VHD auf dem Citrix Provisioning Server
    (die CVhdMount.exe befindet sich im Verzeichnis des Citrix Target Device Treibers)
    call “%ProgramFilesDir%\Citrix\Provisioning Services\CVhdMount.exe” -p 1 “\\PVSServer\Store$\disk1.vhd”
  2. VHD beschreiben/befüllen
    call “%ProgramFilesDir%\Citrix\Provisioning Services\p2pvs.exe” p2pvs C:\ /AutoFit
  3. Unmounten der VHD auf dem Citrix Provisioning Server
    call “%ProgramFilesDir%\Citrix\Provisioning Services\CVhdMount.exe” -u 1
  4. Danach kann die VHD über die Citrix Provisioning Server Konsole importiert und Zielsystemen zugewiesen werden.

Falls Probleme bei der Erstellung der VHD über das p2pvs Tool auftreten sollten, kann zur Analyse das p2pvs Log unterhalb von C:\ProgramData\Citrix\p2pvs herangezogen werden.

In meinem Kundenumfeld arbeiten viele mit der Softwareverteillösung von Matrix42. Matrix42 bietet schon seit langem eine VDI Funktionalität an, die in der Empirum Management Konsole integriert ist. Ein Bestandteil davon ist die automatisierte Erstellung von VHDs für Citrix Provisioning Server Umgebungen. Wenn man entsprechende Matrix42 Lizenzen für die VDI Unterstützung besitzt und seine Provisioning Server Umgebung entsprechend in Empirum konfiguriert hat, kann man über die Kontextmenü Funktion „Disk Image erstellen…“ VHDs erzeugen.

vhdc01

Leider funktioniert das dahinterliegende „Empirum VHD Create“ Paket zum Erstellen von VHD Dateien für Citrix Provisioning Server Umgebungen seit der Paketversion 16.0 nicht mehr richtig.

Dies war für mich der Grund eine andere Methode zu erarbeiten, um VHDs automatisiert zu erzeugen. Die bestehenden Befehle in dem „Empirum VHD Create“ Paket können durch den oben beschriebenen Prozess bei Bedarf ersetzt werden.

…
copy "%SRC%\templateXA.vhd" "%VM_VHD_PATH%"

Set cError = "Mount VHD"
call "%ProgramFilesDir%\Citrix\Provisioning Services\CVhdMount.exe" -p 1 "%VM_VHD_PATH%"
If %Errorlevel% <> "0" Then "AbortVHDNotCreated" EndIf

Set cError = "Create VHD"
call "%ProgramFilesDir%\Citrix\Provisioning Services\p2pvs.exe" p2pvs C:\ /AutoFit
If %Errorlevel% <> "0" Then "AbortVHDNotCreated" EndIf

Set cError = "Unmount VHD"
call "%ProgramFilesDir%\Citrix\Provisioning Services\CVhdMount.exe" -u 1
If %Errorlevel% <> "0" Then "AbortVHDNotCreated" EndIf
…

Update: Für Windows 10 bitte den folgenden Beitrag beachten Citrix Provisioning: Windows 10 & P2PVS.exe !!!

 

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *