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:

  1. Schließen Sie Citrix Studio.
  2. Stellen Sie das neue Citrix Virtual Apps and Desktop-ISO bereit.
  3. Navigieren Sie auf dem ISO zu \x64\DesktopStudio.
  4. Klicken Sie mit der rechten Maustaste auf PVS PowerShell SDK x64, um ein Kontextmenü anzuzeigen.
  5. Wählen Sie Reparieren.
  6. 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:

  1. Laden Sie das Windows SDK für Ihr Provisioning-Serverbetriebssystem herunter und installieren Sie es.
  2. Ö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.
  3. Erstellen Sie ein Zertifikat zur Verwendung als Stammzertifizierungsstelle: makecert -n "CN= PVSRoot CA" -r -sv PVSRoot CA.pvk PVSRoot CA.cer.
  4. 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.
  5. 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.
  6. 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ür PvsServerPort.

Verwenden der Citrix Provisioning-API

Führen Sie nach Installation des aktuellen Citrix Provisioning-Servers folgende Schritte aus:

  1. Führen Sie den Konfigurationsassistenten aus.
  2. Öffnen Sie auf dem Provisioning-Server das Fenster Services, um sicherzustellen, dass die Citrix Provisioning-API installiert ist 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.

Sitedarstellung in der Konsole

  1. Öffnen Sie ein PowerShell-Fenster auf dem Provisioning-Server:

a. Import-Module C:Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll.

b. Get-Command-Module.

Die folgende Abbildung veranschaulicht die Befehlsoptionen:

Sitedarstellung in der Konsole

c. 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.

Sitedarstellung in der Konsole

d. Melden Sie sich über einen 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

Sitedarstellung in der Konsole

Sitedarstellung in der Konsole

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:

Sitedarstellung in der Konsole

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:

Sitedarstellung in der Konsole

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.

Änderung der Suchmethode

In einigen AD-Umgebungen mit komplex verschachtelten Gruppen und Domänen mit vielen Vertrauensstellungen wird die Mitgliedschaft eines Benutzers in Administratorgruppen mit der Standardsuchmethode möglicherweise nicht gefunden. Als Problemlösung für solche Szenarios wurde eine Registrierungseinstellung hinzugefügt, mit der Sie die Suchmethode ändern können:

  1. Suchen Sie in der Registrierungseinstellung HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ProvisioningServices.
  2. Erstellen Sie ein DWORD “DomainSelectOption”.
  3. Legen Sie für DWORD DomainSelectOption die gewünschte Suchmethode fest. Wählen Sie einen dieser Werte (im Dezimalformat):
  • 0 - Standardsuche. Bei dieser Methode wird die Domäne des Benutzers, gefolgt von den Domänen der Administratorgruppen durchsucht.
  • 1 - Durchsucht die Domäne des Benutzers und die Domäne der Administratorgruppe, gefolgt von anderen vertrauenswürdigen Domänen innerhalb der Domäne des Benutzers.
  • 2 - Veraltet.
  • 3 - Durchsucht die Domäne des Benutzers, gefolgt von den Domänen der Administratorgruppen durchsucht. Die erkannten Gruppen werden weiter über die Domäne des übergeordneten Elements enumeriert.
  • 4 - Durchsucht die Domäne des Benutzers und die Domäne der Administratorgruppe, gefolgt von anderen vertrauenswürdigen Domänen innerhalb der Domäne des Benutzers. Die erkannten Gruppen werden weiter über die Domäne des übergeordneten Elements enumeriert.