APIs
Citrix Provisioning APIs sind auf der Website mit der Citrix-Dokumentation für Entwickler verfügbar:
PowerShell-SDK-Dateien nach dem Upgrade
Dateien in C:\Program Files\Citrix\PowerShell SDK
fehlen nach dem Upgrade. Das Problem tritt auf, weil die von Citrix Provisioning verwendete CDF-Version nicht mit der Version übereinstimmt, die von anderen, zu Citrix Virtual Apps and Desktops in Bezug stehenden Komponenten verwendet wird. Neuere CDF- Dateien haben dann eine niedrigere Versionsnummer als ältere. Das Problem hat keine Auswirkungen auf den Import von CPV-Gerätesammlungen in Maschinenkataloge von Citrix Virtual Apps and Desktops. Lösen des Problems:
- Schließen Sie Citrix Studio.
- Stellen Sie das neue Citrix Virtual Apps and Desktops-ISO bereit.
- Navigieren Sie auf dem ISO zu \x64\DesktopStudio.
- Klicken Sie mit der rechten Maustaste auf PVS PowerShell SDK x64, um ein Kontextmenü anzuzeigen.
- Wählen Sie Reparieren.
- Führen Sie die Reparatur aus. Bei der Installation werden die beiden CDF-Dateien bei Bedarf hinzugefügt.
Active Directory-Gruppenenumerierungsmethode
Die Citrix Provisioning-Konsole enthält den Setupassistenten von Citrix Virtual Apps and Desktops, der Integrationsaufgaben zwischen Citrix Provisioning, Citrix Virtual Apps and Desktops und Windows Active Directory bereitstellt. Der Assistent erstellt die VMs und alle erforderlichen Objekte in Citrix Provisioning, Citrix Virtual Apps and Desktops und Active Directory.
Hinweis:
Diese Implementierung war in früheren Versionen eingeschränkt, da keine API verfügbar war. Ohne sie können Citrix Provisioning-Benutzer nicht verschiedene automatisierte Testparadigmen in ihrer Umgebung ausführen.
Die Funktionalität der Assistenten für Citrix Virtual Apps and Desktops und gestreamte VMs wird von einem Dienst auf dem Provisioning-Server über eine PowerShell-API zur Verfügung gestellt. Diese API stellt ein PowerShell-Frontend bereit. Dieses kann zum Automatisieren der Funktionen des Setupassistenten für gestreamte VMs und des Citrix Virtual Apps and Desktops-Setupassistenten verwendet werden.
Tipp:
Der Citrix Provisioning-API-Dienst verwendet eine SSL-Verbindung, für die Sie ein X.509-Zertifikat auf dem Provisioning-Server konfigurieren müssen.
Konfigurieren des X.509-Zertifikats
Der Citrix Provisioning-API-Dienst verwendet eine SSL-Verbindung, für die Sie ein X.509-Zertifikat auf dem Provisioning-Server brauchen. Das Zertifizierungsstellenzertifikat des Zertifikats muss ebenfalls auf der Maschine mit dem Server und der Konsole sein.
Erstellen eines selbstsignierten Zertifikats für die Citrix Provisioning-API:
- Laden Sie das Windows SDK für Ihr Provisioning-Serverbetriebssystem herunter und installieren Sie es.
- Öffnen Sie eine Eingabeaufforderung und navigieren Sie zum Ordner “bin” des SDK. Standardmäßig:
C:\Program Files (x86)\Windows Kits\SDK_Version\bin\x64>
und führen Sie die folgenden Befehle aus. - Erstellen Sie ein Zertifikat zur Verwendung als Stammzertifizierungsstelle:
makecert -n "CN= PVSRoot CA" -r -sv PVSRoot CA.pvk PVSRoot CA.cer
. - Erstellen und installieren Sie das Dienstzertifikat:
makecert -sk PVSAP I -iv PVSRoot CA.pvk -n "CN= FQDN of the PVS Server" -ic PVSRoot CA.cer -sr localmachine -ss my -sky exchange -pe
. - Installieren Sie das Stammzertifizierungsstellenzertifikat am Speicherort für
Trusted Root Certification Authorities
auf Server- und Konsolenmaschinen:cert mgr -add "PVSRoot CA.cer" -s -r localMachine Root
. - Führen Sie den Konfigurationsassistenten aus. Wählen Sie auf der Seite Soap SSL Configuration das erstellte Zertifikat aus.
Hinweis:
Verwenden Sie beim Ausführen der PowerShell-Befehle den FQDN des PVS-Servers für
PvsServerAddress
und “54324” (Standard) fürPvsServerPort
.
Citrix Provisioning API
Um die Provisioning API mit dem Citrix Virtual Apps and Desktops Service zu verwenden, müssen Sie Anmeldeinformationen für die Authentifizierung bei Citrix Cloud angeben.
Verwenden der Provisioning API mit Citrix Virtual Apps and Desktops Service
Bei der Verwendung von Citrix Virtual Apps and Desktops Service benötigt der Provisioning API-Dienst, der auf jedem Provisioning-Server ausgeführt wird, Anmeldeinformationen zur Authentifizierung bei Citrix Cloud. Nachdem Sie diese Anmeldeinformationen angegeben haben, verwendet jeder Prozess, der mit dem angegebenen Benutzernamen ausgeführt wird, die sicheren Client-Anmeldeinformationen zur Authentifizierung bei Citrix Cloud.
Angeben der Anmeldeinformationen:
- Melden Sie sich als Administratorbenutzer an der Seite für die Identitäts- und Zugriffsverwaltung (IAM) des Citrix Cloud-Portals an.
- Erstellen Sie auf der Citrix Cloud IAM-Seite einen sicheren Client. Notieren Sie Ihre Kunden-ID, die Sie auf dieser Seite sehen.
- Laden Sie den sicheren Client in eine CSV-Datei auf den PVS-Server herunter.
Wichtig: Die CSV-Datei enthält ein Geheimnis, das zur Authentifizierung bei Citrix Cloud als der Benutzer verwendet werden kann, der den sicheren Client erstellt hat. Speichern und schützen Sie diese Datei.
- Auf jedem Server, der Provisioning API-Aufrufe ausführt:
- Führen Sie ein PowerShell-Fenster unter Verwendung des Provisioning Services-Benutzernamens aus.
- Laden Sie die CSV-Datei herunter.
-
Führen Sie folgenden Befehl aus:
Set-XDCredentials -CustomerId "<customerIDFromPortal>" -SecureClientFile "<CSVPath>" -ProfileType CloudAPI –StoreAs "default" <!--NeedCopy-->
- Löschen Sie die heruntergeladene Kopie der CSV-Datei.
Verwenden der Citrix Provisioning API
Führen Sie nach Installation des aktuellen Citrix Provisioning-Servers folgende Schritte aus:
- Führen Sie den Konfigurationsassistenten aus.
- Öffnen Sie auf dem Provisioning-Server das Fenster Services, um sicherzustellen, dass die Citrix Provisioning API installiert und zum Ausführen als Administrator konfiguriert ist:
Tipp:
Der Citrix Provisioning-API-Dienst verwendet eine SSL-Verbindung, für die Sie ein X.509-Zertifikat auf dem Provisioning-Server konfigurieren müssen.
Öffnen Sie ein PowerShell-Fenster auf Ihrem Provisioning-Server und importieren Sie das Befehlsmodul:
-
Import-Module "C:\Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll"
. -
Get-Command-Module Citrix.ProvisioningServices
. - Führen Sie ein Ping für den Citrix Provisioning-API-Dienst durch: Get-PvsApiServiceStatus -PvsServerAddress FQDN of PVS Server -PvsServerPort Port PVS API is configured to listen on
Tipp:
Die Portnummer des Provisioning-Servers wird für die SOAP-Serverkommunikation verwendet.
Melden Sie sich mit einem der folgenden Befehle an der Citrix Provisioning-API an:
Verwenden Sie die Parameter Domain/Username/Password:
Get-PvsConnection -PvsServerAddress
FQDN des PVS-Servers -PvsServerPort
SOAP Port +1, der von der PVS-API überwacht wird -Domain
PVS-Verwaltungsdomäne -Username
Benutzername des PVS-Administrators -Password
Kennwort des PVS-Administrators
Verwenden Sie das Objekt “Pass-in PSCredential”:
Get-PvsConnection -PvsServerAddress
Adresse des PVS-Servers PvsServerPort-Credentials
PSCredential-Objekt, das von Get-Credential zurückgegeben wird
Die folgenden Cmdlets sind in der neuen Implementierung der Citrix Provisioning-API enthalten:
- Get-PvsApiServiceStatus. Sendet einen Ping an den Dienst, um festzustellen, ob dieser an einer bestimmten Adresse/einem bestimmten Port ausgeführt wird.
- Get-PvsConnection. Anmelden bei der Citrix Provisioning API.
- Clear-PvsConnection. Abmelden von der Citrix Provisioning API. Dieses Cmdlet fügt Auth Token der Sperrliste hinzu.
- Start-PvsProvisionXdMachines. Wird für die Automatisierung des Citrix Virtual Apps and Desktops-Setupassistenten verwendet.
- Start-PvsProvisionMachines. Wird für die Automatisierung des Setupassistenten für gestreamte VMs verwendet.
- Get-PvsProvisioningStatus. Ruft den Status der aktuellen Provisioningsitzung über die ID ab, die über einen der beiden zuvor genannten Befehle abgefragt wurde.
- Stop-PvsProvisionMachines. Verwendet die ID, die von einem der beiden vorangehenden Befehle zurückgegeben wurde, um die aktuelle Provisioningsitzung abzubrechen.
Sie können Beispiele für diese PowerShell-Cmdlets können über Get-Help CommandName – Examples
aufrufen:
Tipp:
Die übrigen PowerShell-Cmdlets gehören zur Datenbankzugriffsebene.
Wenn Sie mit dem PowerShell-Befehl Set -PvsConnection
eine Verbindung zur API herstellen, wird ein Verbindungsobjekt zurückgegeben,
das in etwa so aussieht:
Die Zugriffssteuerungsmethode basiert in Citrix Provisioning auf den Active Directory-Anmeldeinformationen des Benutzers und auf der Konfiguration der Administratorgruppe. Das Ergebnis dieser Methode ist, dass die AD-Gruppenenumerierung wiederholt Ereignisse auslöst, die mit Konfigurationsassistenten und Konsolenoperationen verknüpft sind. In komplexen AD-Umgebungen, in denen Falschanmeldungen auftreten können, kann das System träge werden, wobei langsame Antworten zu Verbindungstimeouts für die Citrix Provisioning-Konsole führen. Die Funktionalität löst derartige Probleme durch eine bessere Ernumerierungsmethode für AD-Gruppen.
Vor dieser Funktionalität erfolgte die AD-Gruppenenumerierung durch Scannen der Mitgliedschaften, die mit der Anmeldung des Benutzers in seiner Domäne und der Gesamtheit der vertrauenswürdigen Domänen verknüpft sind. Dieser Vorgang wird fortgesetzt, bis alle Gruppenmitgliedschaften des Benutzers ermittelt wurden oder wenn keine weiteren Domänen durchsucht werden müssen. Die gefundenen Gruppen wurden mit den in der Datenbank definierten Administratorgruppen verglichen, um die Zugriffsrechte des Benutzers zu bestimmen.
Mit dieser Funktionalität wird die AD-Gruppenenumerierung insofern verbessert, dass bevorzugte Domänen intelligent auf die Anmeldemitgliedschaften eines Benutzers durchsucht werden. Dieser Ansatz unterscheidet sich von der Suche in der Gesamtheit der Gruppen in allen Domänen. Der Name der Administratorgruppe, der den Anmeldeinformationen des Benutzers zugeordnet ist, wird zur Bestimmung der bevorzugten Domänenliste verwendet. Die Domänenliste des Benutzers wird zuerst durchsucht, gefolgt von der bevorzugten Liste. Wenn bei der Suche die Administratorgruppe einer Farm gefunden wird, wird die Suche eingestellt, da der Benutzer über vollständige Zugriffsrechte für die Citrix Provisioning-Farm verfügt. Dieses Suchparadigma umfasst auch einen Mechanismus, der anhand der Domänensicherheits-ID prüft, ob die Domäne die betreffenden Gruppen enthält. Diese neue Art der Gruppenmitgliedschaftssuche genügt den Anforderungen der meisten AD-Umgebungen und beschleunigt die Vorgänge beim Konfigurationsassistenten und der Provisioning-Konsole.