• Blog
  • Webinare
  • Partner
  • Support
  • Kontakt
  • DE
    • EN
ScriptRunner
  • Über uns
    • Team
    • Jobs
    • Presse
  • Warum
  • Praxisbeispiele
  • Software
    • ScriptRunner Server
    • ScriptRunner Portal
    • ScriptRunner Portal Widget
    • ScriptRunner Connectoren
    • ScriptRunner ActionPacks
  • Jetzt testen
  • Suche
  • Menü Menü
Du bist hier: Startseite1 / ScriptRunner Blog2 / News3 / Erstellen neuer Citrix MCS-Maschinen mit PowerShell

Erstellen neuer Citrix MCS-Maschinen mit PowerShell

Author: Guy Leech | Lesezeit: 7 Minuten | Category: News, PowerShell & Systeme

Citrix Virtual Apps and Desktops (CVAD) bietet zwei Verfahren, mit denen schnell neue Maschinen erstellt werden können, um zusätzliche Kapazitäten für Endanwender zu schaffen. Dies sind die Machine Creation Services (MCS) und die Provisioning Services (PVS).

Dieser Artikel geht nicht im Detail darauf ein, wie diese funktionieren oder wie man sie einrichtet, und setzt voraus, dass ein Maschinenkatalog mit MCS bereits erstellt wurde – wir werden zeigen, wie man mit PowerShell neue Maschinen in diesem Katalog erstellt und sie einer Liefergruppe zuweist.

Es ist natürlich möglich, die MCS-basierten Maschinenkataloge selbst mit PowerShell zu erstellen – tatsächlich kann bei Bedarf eine ganze CVAD-Implementierung von Grund auf mit PowerShell erstellt werden.

Inhalt

  • Vorraussetzungen
  • Erstellen von Active Directory-Maschinenkonten
  • Erstellen von Virtuellen Maschinen
  • Maschinen zu einem Katalog hinzufügen
  • Maschinen zu einer Bereitstellungsgruppe hinzufügen
  • Inbetriebnahme der Maschinen
  • Fazit
  • ActionPack für Citrix
  • Weiterführende Links
Article: Using PowerShell to Create New Citrix MCS Machines

Vorraussetzungen

Noch bevor Sie die Schritte zum Erstellen der Maschinen ausführen, müssen die CVAD PowerShell-Cmdlets geladen werden. Vor der Version 1912 (LTSR) wurden diese als (Legacy-)Snap-Ins bereitgestellt, wohingegen sie ab dieser Version als Module verfügbar sind (lesen Sie den ersten Teil dieser Serie für weitere Informationen: Eine Einführung in PowerShell in Citrix Virtual Apps and Desktops).

Der folgende Code funktioniert in allen Versionen, um die in diesem Beitrag verwendeten Cmdlets zu laden:

Der Code kann auf einem Citrix Delivery Controller oder auf einem beliebigen Rechner ausgeführt werden, auf dem Citrix Studio oder die CVAD PowerShell-Cmdlets installiert sind, wobei letzteres aus Gründen des Ressourcenverbrauchs bevorzugt wird.

Wenn letzteres verwendet wird, muss den Citrix-Cmdlets der Parameter-AdminAddress angegeben werden, um die Aufrufe an einen bestimmten Delivery Controller zu leiten. Sofern die zweite Option verwendet wird, muss den Citrix-Cmdlets der Parameter -AdminAddress mitgegeben werden, um die Aufrufe an einen bestimmten Delivery Controller zu richten.

Erstellen von Active Directory-Maschinenkonten

Da wir davon ausgehen, dass wir Maschinen zu einem vorhandenen Katalog hinzufügen, sind verschiedene interne Strukturen, die der PowerShell-Code benötigt, bereits erstellt worden, obwohl diese nicht als einzelne Entitäten in Citrix Studio sichtbar sind.

Eine davon ist ein Identitätspool, der, wenn er von Citrix Studio erstellt wird, denselben Namen wie der Katalog hat, auf den er sich bezieht, und der die Namenskonvention enthält, die bei der Erstellung des Katalogs gewählt wurde (siehe Abbildung 1).

Screenshot: Citrix Studio, Einrichtung des Maschinenkatalogs

Abbildung 1: Beim Einrichten eines Maschinenkatalogs müssen Sie auch eine Namenskonvention für die enthaltenen Maschinen definieren.

Wir können mit dem folgenden Befehl überprüfen, ob der von uns benötigte Identitätspool existiert:

Abbildung 2 zeigt die daraus folgende Ausgabe.

Screenshot: Abfrage via PowerShell, ob ein bestimmter Identitätspool existiert

Abb. 2: Überprüfung eines bestimmten Identitätspools mit Get-AcctIdentityPool

Wir können sehen, dass dieser den vorhandenen MCS-Maschinenkatalogen entspricht (Abbildung 3):

Screenshot: Liste der Kataloge mit MCS-Maschinenkatalogen

Abb. 3: Die Liste der Kataloge zeigt die vorhandenen MCS-Kataloge.

Um die Active Directory-Konten für die neuen Maschinen zu erstellen, führen wir Folgendes aus, wobei wir zwei Maschinenkonten unter Verwendung der Namenskonvention und der OU erstellen, die im angegebenen Identitätspool definiert sind – beachten Sie, dass wir den Namen oder die Namensbasis nicht selbst angeben müssen:

Wir haben das Ergebnis in eine Variable übertragen, da wir es im nächsten Schritt verwenden wollen, aber wir können das Ergebnis überprüfen, indem wir uns den Inhalt dieser Variable anzeigen lassen (Abbildung 4):

Screenhot: PowerShell Ausgabe der Variablen $newAccounts

Abb. 4: Inhalt der Variable $newAccounts

Wenn Sie im AD nachschauen, sollten Sie sehen, dass diese Maschinenkonten in der richtigen OU erstellt wurden.

Erstellen von Virtuellen Maschinen

Wir müssen nun die virtuellen Maschinen erstellen, die diesen AD-Konten entsprechen, und dazu benötigen wir den Namen des Bereitstellungsschemas, der bei der Erstellung des MCS-Maschinenkatalogs erstellt wurde und wie bei den Identitätspools denselben Namen wie der Katalog aufweist, zu dem er gehört.

Screenshot: Abrufen des Namens des Provisioningschemas über PowerShell

Abb. 5: Abrufen des Namens des Provisioningschemas über PowerShell

Beim Erstellen der VMs erstellen wir eine Aufgabe, die entweder synchron ausgeführt werden kann, sodass das Cmdlet erst dann ausgegeben wird, wenn die Aufgabe vollständig abgeschlossen ist, oder asynchron ausgeführt wird, sodass das Cmdlet sofort ausgegeben wird.

Im letzteren Fall müssen Sie prüfen, ob die Aufgabe abgeschlossen ist, bevor Sie fortfahren. Dies kann sinnvoll sein, wenn die Aufgabe so lange dauern könnte, dass andere Aktionen ausgeführt werden müssen oder eine Fortschrittsanzeige angezeigt werden muss.
Im gegebenen Fall führen wir sie asynchron aus, um zu zeigen, wie wir prüfen, ob die Aufgabe abgeschlossen ist.

Die Aufgaben-GUID ist in der Variablen gespeichert, die wir abfragen können, wie in Abbildung 6 zu sehen ist:

Screenshot: Eigenschaften der Variable $taskDetails

Abb. 6: Eigenschaften der Variable $taskDetails

Beachten Sie die Eigenschaften Active, Status, TaskState und TaskStateInformation die wir verwenden können, um zu testen, ob die Aufgabe abgeschlossen ist oder nicht. Achten Sie außerdem darauf, dass Sie bei der Überprüfung der Eigenschaften in einer Schleife eine Art Verzögerung einbauen, wie z.B. via Start-Sleep, um den CPU-Verbrauch dieser Polling-Schleife zu reduzieren.

Maschinen zu einem Katalog hinzufügen

Nachdem wir nun die VMs erstellt haben, was Sie in Ihrer Hypervisor-Konsole überprüfen können, können wir sie als Maschinen zu einem Maschinenkatalog hinzufügen. Das Beispiel unten hat einen Platzhalter für die Fehlerbehandlung, falls ein Fehler auftreten sollte – Vernachlässigen Sie auf keinen Fall die Fehlerkontrolle!

Abbildung 7 zeigt, dass die Ausführung erfolgreich war:

Screenshot: Suchergebnis im Citrix Studio für

Abb. 7: Das Suchergebnis zeigt alle VMs, die Teil des Maschinenkatalogs „MCS Server 2019“ sind

Maschinen zu einer Bereitstellungsgruppe hinzufügen

Damit die neu erstellten Maschinen für Endanwender verfügbar sind, müssen sie zu einer Bereitstellungsgruppe gehören, was folgendermaßen erreicht wird:

Wie erwartet, zeigt Abbildung 8, dass die Maschinen erfolgreich zur Bereitstellungsgruppe hinzugefügt wurden.

Screenshot: Suchergebnis für

Abb. 8: Das Suchergebnis zeigt alle VMs, die Teil der „MCS Server 2019“-Bereitstellungsgruppe sind

Inbetriebnahme der Maschinen

Angenommen, dies alles ist gelungen, bleibt nur noch, die neuen Maschinen in Betrieb zu nehmen, damit sie booten, sich bei einem Bereitstellungscontroller registrieren und von dort aus für die Bereitstellung veröffentlichter Anwendungen und/oder Desktops verfügbar werden.

Beachten Sie im Code-Beispiel unten, dass der in der Variablen „$taskDetails“ enthaltene Computerkontoname geändert wird, indem das „$“-Zeichen am Ende des Namens entfernt wird, um ihn in einen AD-Computernamen umzuwandeln.

Dies wird mit einem regulären Ausdruck (regex) erreicht, wobei $ ein Sonderzeichen ist, das das Ende der Zeichenfolge bedeutet, sodass wir es mit dem Backslash-Zeichen escapen müssen.

Wenn alles korrekt funktioniert hat, sollte Citrix Studio nun die neu erstellten Rechner anzeigen (Abbildung 9) und nach einer kurzen Verzögerung, damit sie booten können, sollten sie registriert sein und somit verwendet werden können, um Anwendungen und/oder Desktops bereitzustellen, die die Bereitstellungsgruppe verwenden.

Screenshot: Liste der neu erstellten VM in Citrix Studio

Abb. 9: Überblick über die neu erstellte VM im Citrix Studio

Fazit

Die Konfiguration neuer VM mit MCS über PowerShell bietet die klassischen Vorteile gescripteter Lösungen: Genauigkeit, Standardisierbarkeit und Reproduzierbarkeit. Auch die daraus resultierende Zeitersparnis ist nicht zu vernachlässigen.

In Kombination mit ScriptRunner eröffnen sich jedoch noch mehr Möglichkeiten: Die Erstellung neuer VMs kann beispielsweise vollständig automatisiert und sogar an Helpdesk und Endanwender delegiert werden. Dabei bleiben alle Vorgänge sicher, fehlerfrei und nachvollziehbar.

Wir sprechen gerne unverbindlich mit Ihnen darüber wie sie diese oder auch andere Use Cases in ihrem Unternehmen mit ScriptRunner realisieren können. Buchen Sie dazu einfach einen Termin mit unseren Produktexperten.

ScriptRunner ActionPack für Citrix

Kostenlose PowerShell-Scriptsammlung

ActionPack für Citrix

Mithilfe unseres neuen ScriptRunner ActionPacks für Citrix gelingt der Einstieg in die Task-Automation mit PowerShell jetzt noch schneller und einfacher!

200  gebrauchsfertige PowerShell-Scripte stehen ab sofort auf dem ScriptRunner GitHub Repository zur freien Verfügung.

Kostenlos auf GitHub downloaden >

Weiterführende Links

  • Erstellen von Maschinenkatalogen | Citrix-Produktdokumentation
  • Eine Einführung in PowerShell in Citrix Virtual Apps and Desktops | ScriptRunner Blog
Share this article
  • Teilen auf Facebook
  • Teilen auf Twitter
  • Teilen auf WhatsApp
  • Teilen auf LinkedIn
  • Teilen auf Reddit
  • Per E-Mail teilen

Diese Beiträge könnten Sie auch interessieren:

ScriptRunner ActionPack für CitrixScriptRunner Software GmbH

ScriptRunner ActionPack für Citrix

11. März 2021
Weiterlesen
https://www.scriptrunner.com/wp-content/uploads/2021/03/citrixactionpack.jpg 441 441 Heiko Brenn, Head of International Business https://www.scriptrunner.com/wp-content/uploads/2018/05/ScriptRunner_Logo_RGB-300x45.png Heiko Brenn, Head of International Business 2021-03-11 11:01:532021-03-11 14:46:37ScriptRunner ActionPack für Citrix
Artikel: Citrix PVS-Maschinen mit PowerShell erstellenScriptRunner Software GmbH

Citrix PVS-Maschinen mit PowerShell erstellen

4. März 2021
Weiterlesen
https://www.scriptrunner.com/wp-content/uploads/2021/02/powershell-create-citrix-machines.png 1000 1000 Guy Leech https://www.scriptrunner.com/wp-content/uploads/2018/05/ScriptRunner_Logo_RGB-300x45.png Guy Leech2021-03-04 09:00:022021-03-12 17:09:52Citrix PVS-Maschinen mit PowerShell erstellen
Artikel: Einführung in PowerShell in Citrix Virtual Apps and DesktopsScriptRunner Software GmbH

Eine Einführung in PowerShell in Citrix Virtual Apps and Desktops

10. Dezember 2020
Weiterlesen
https://www.scriptrunner.com/wp-content/uploads/2020/12/citrix-virtual-desktops_Zeichenfläche-1.png 1000 1000 Guy Leech https://www.scriptrunner.com/wp-content/uploads/2018/05/ScriptRunner_Logo_RGB-300x45.png Guy Leech2020-12-10 12:05:542021-03-12 17:03:35Eine Einführung in PowerShell in Citrix Virtual Apps and Desktops

Über den Autor:

Guy Leech

Berater, Software-Entwickler, Troubleshooter. Derzeitiger Citrix CTA, ehemaliger VMware vExpert. Erfinder von AppSense Application Manager. PowerShell-Addict

Neuste Beiträge

  • Artikelbild: PowerShell kurz & gut – Buchrezension von Benedikt GräbScriptRunner Software GmbHPowerShell kurz & gut – Buchrezension7. April 2021 - 10:00
  • Artikel: PowerShel PSDefaultParameterValuesScriptRunner Software GmbHPowerShell PSDefaultParameterValues25. März 2021 - 13:03
  • Artikel: ScriptRunner sponsert den PowerShell + DevOps Global Summit 2021ScriptRunner Software GmbHScriptRunner sponsert den PowerShell + DevOps Global Summit 202119. März 2021 - 10:00
  • ScriptRunner ActionPack für CitrixScriptRunner Software GmbHScriptRunner ActionPack für Citrix11. März 2021 - 11:01
  • Artikelbild: 5 PowerShell-Scripting Best PracticesScriptRunner Software GmbH5 PowerShell Scripting Best Practices – Vom lauffähigen zum professionellen Code10. März 2021 - 10:00

Produkt

  • ScriptRunner Plattform
  • ScriptRunner ActionPacks
  • ScriptRunner Server
  • ScriptRunner Portal
  • ScriptRunner Portal Widget
  • ScriptRunner Apps
  • ScriptRunner Connectoren
  • Lizenzierung
Jetzt kostenfrei testen

Lösungen

  • IT-Administratoren
  • IT-Teamleiter
  • Use Cases

Ressourcen

  • Blog
  • Dokumentation
  • Knowledge Base
  • Webinare
  • PowerShell-Lexicon
  • PowerShell-Poster
  • PowerShell Security Ebook

Unternehmen

  • Über uns
  • Team
  • Jobs
  • Presse
  • Referenzen
  • Partner

Kontakt

ScriptRunner Software GmbH
Ludwig-Erhard-Straße 2
76275 Ettlingen
Deutschland

T: +49 7243 20715-0
M: info(at)scriptrunner.com

Demo vereinbaren
© ScriptRunner Software GmbH is a subsidiary of AppSphere AG
  • LinkedIn
  • Xing
  • Twitter
  • Facebook
  • Youtube
  • Impressum
  • Datenschutz
  • Newsletter
Nach oben scrollen