SDKs und APIs

Citrix Virtual Apps and Desktops Remote PowerShell SDK

Das Remote PowerShell SDK automatisiert komplexe und repetitive Aufgaben. Damit kann die Citrix Virtual Apps and Desktops-Umgebung (ehemals XenApp und XenDesktop) ohne Studio eingerichtet und verwaltet werden.

Die unterstützten Snap-Ins sind unter Einschränkungen aufgeführt. Der Abschnitt enthält zudem eine Liste der deaktivierten Cmdlets.

Unterschiede zum Citrix Virtual Apps and Desktop Delivery Controller SDK

Bei vollständig von Administratoren des Kunden installierten und verwalteten Citrix Virtual Apps and Desktops-Bereitstellungen führen die Administratoren Cmdlets und Skripts in einer Site aus, die sowohl VDAs als auch Delivery Controller in einer gemeinsamen Domänenstruktur enthält. Beim Citrix Virtual Apps and Desktops-Service sind die VDAs und Controller hingegen auf einen Ressourcenstandort und eine Steuerungsebene aufgeteilt. Aufgrund dieser Aufteilung funktioniert das ursprüngliche Citrix Virtual Apps and Desktops PS SDK in einer Citrix Virtual Apps and Desktops-Umgebung nicht, denn es kann die Grenze zwischen sicherem Ressourcenstandort und Steuerungsebene nicht passieren.

Die Lösung ist das Citrix Virtual Apps and Desktops Remote PS SDK. Wenn das Remote PS SDK am Ressourcenstandort ausgeführt wird, greift es auf die Steuerungsebene zu, als sei diese lokal, und bietet dieselbe Funktionalität wie eine einzelne Citrix Virtual Apps and Desktops-Site. Es gibt nur die niedrigste, nicht sichtbare Kommunikationsschicht, die entweder für den Betrieb in einer einzelnen lokalen Site oder in der Cloudumgebung optimiert ist. Die Cmdlets sind die gleichen und die meisten bestehenden Skripts funktionieren unverändert.

Das Cmdlet Get-XdAuthentication bietet die Berechtigung zum Passieren der Grenze zwischen sicherem Ressourcenstandort und Steuerungsebene. Standardmäßig fordert Get-XdAuthentication die Benutzer zur Eingabe von CAS-Anmeldeinformationen auf, was einmal pro PowerShell-Sitzung erforderlich ist. Alternativ kann der Benutzer ein mithilfe eines in der Citrix Cloud-Konsole erstellten sicheren Clients für den API-Zugriff ein Authentifizierungsprofil angeben. In beiden Fällen bleiben die Sicherheitsinformationen für die Verwendung in nachfolgenden PS SDK-Aufrufen erhalten. Wenn das Cmdlet nicht explizit ausgeführt wird, wird es vom ersten PS SDK-Cmdlet aufgerufen.

Installieren und Verwenden des Remote PowerShell SDKs

Vergewissern Sie sich, dass auf der Maschine PowerShell 3.0 oder höher verfügbar ist.

  1. Laden Sie das Installationsprogramm herunter: https://download.apps.cloud.com/CitrixPoshSdk.exe. Das Paket enthält eine x86- und eine x64-Implementierung.
  2. Suchen Sie im heruntergeladenen Ordner das Installationsprogramm und führen Sie es aus.
  3. Folgen Sie den Dialogfeldern und führen Sie die Installation durch.

Installationsprotokolle werden in %TEMP%\CitrixLogs\CitrixPoshSdk erstellt. Protokolle können beim Beheben von Installationsproblemen helfen.

Führen Sie das Citrix Virtual Apps and Desktops Remote PS SDK auf einem Computer in der Domäne innerhalb des Ressourcenstandorts aus:

  • Öffnen Sie eine PowerShell-Eingabeaufforderung. Das Programm muss nicht als Administrator ausgeführt werden.
  • Fügen Sie die Citrix Snap-Ins hinzu: asnp citrix.
  • Sie können sich explizit über das Cmdlet Get-XdAuthentication authentifizieren. Führen Sie alternativ den ersten Citrix Virtual Apps and Desktops PS SDK-Befehl aus, durch den Sie zur gleichen Authentifizierung wie bei Get-XdAuthentication aufgefordert werden.
  • Zum Umgehen der Authentifizierungsaufforderung können Sie mithilfe eines in der Citrix Cloud-Konsole erstellten sicheren Clients und des Cmdlets “Set-XdCredentials” ein Standardauthentifizierungsprofil erstellen.
  • Fahren Sie mit der Ausführung von PS SDK-Cmdlets oder PS SDK-Automatisierungsskripts fort. Siehe Beispiel unten.

Citrix rät davon ab, die Cmdlets dieses SDKs auf Cloud Connectors auszuführen. Am SDK-Betrieb sind die Cloud Connectors nicht beteiligt.

Deinstallieren:

Wählen Sie im Windows-Feature zum Entfernen oder Ändern von Programmen die Option Citrix Virtual Apps and Desktops Remote PowerShell SDK. Klicken Sie mit der rechten Maustaste und wählen Sie Deinstallieren. Folgen Sie den Dialogfeldern.

Beispielaktivitäten

Zu den häufigen Aktivitäten gehören das Einrichten von Maschinenkatalogen, Anwendungen und Benutzern. Siehe Beispielskript unten.

    $users = "xd.local\Domain Users"

    $TSVDACatalogName = "TSVDA"

    $TSVDADGName = "TSVDA"

    $TSVDAMachineName = "xd\ds-tsvda2"

    #Create TSVDA Catalog

    $brokerUsers = New-BrokerUser -Name $users

    $catalog = New-BrokerCatalog -Name $TSVDACatalogName -AllocationType "Random" -Description $TSVDACatalogName -PersistUserChanges "OnLocal" -ProvisioningType "Manual" -SessionSupport "MultiSession" -MachinesArePhysical $true

    #Add TSVDA Machine to Catalog

    $BrokeredMachine = New-BrokerMachine -MachineName $TSVDAMachineName -CatalogUid $catalog.uid

    #Create new desktops & applications delivery group

    $dg = New-BrokerDesktopGroup -Name $TSVDADGName -PublishedName $TSVDADGName -DesktopKind "Shared" -SessionSupport "MultiSession" -DeliveryType DesktopsAndApps -Description $TSVDADGName

    #Create notepad application

    New-BrokerApplication -ApplicationType HostedOnDesktop -Name "Notepad" -CommandLineExecutable "notepad.exe" -DesktopGroup $dg

    #Assign users to desktops and applications

    New-BrokerEntitlementPolicyRule -Name $TSVDADGName -DesktopGroupUid $dg.Uid -IncludedUsers $brokerUsers -description $TSVDADGName

    New-BrokerAccessPolicyRule -Name $TSVDADGName -IncludedUserFilterEnabled $true -IncludedUsers $brokerUsers -DesktopGroupUid $dg.Uid -AllowedProtocols @("HDX","RDP")

    New-BrokerAppEntitlementPolicyRule -Name $TSVDADGName -DesktopGroupUid $dg.Uid -IncludedUsers $brokerUsers -description $TSVDADGName

    #Add machine to delivery group

    Add-BrokerMachine -MachineName $TSVDAMachineName -DesktopGroup $dg

Einschränkungen

Die folgenden PowerShell-Snap-Ins von Citrix Virtual Apps and Desktops werden in diesem Release unterstützt:

  • Broker
  • Active Directory-Identität
  • Maschinenerstellung
  • Konfiguration
  • Konfigurationsprotokollierung
  • Host
  • Delegierte Administration
  • Analytics

Weitere Informationen zu Cmdlets in diesen Snap-Ins finden Sie unter Citrix Virtual Apps and Desktops SDK.

Nach der Authentifizierung bleibt der Remotezugriff in der aktuellen PowerShell-Sitzung 24 Stunden lang gültig. Nach Ablauf dieser Zeit müssen Sie Ihre Anmeldeinformationen eingeben.

Das Remote PS SDK muss auf einem Computer im gleichen Ressourcenstandort ausgeführt werden.

Die folgenden Cmdlets sind bei Remotevorgängen deaktiviert, um die Integrität und Sicherheit der Cloudsteuerungsebene zu gewährleisten.

Citrix.ADIdentity.Admin.V2:

  • Acct:CopyIdentityPool
  • Acct:GetDBConnection
  • Acct:GetDBSchema
  • Acct:GetDBVersionChangeScript
  • Acct:GetInstalledDBVersion
  • Acct:RemoveServiceMetadata
  • Acct:ResetServiceGroupMembership
  • Acct:SetDBConnection
  • Acct:SetServiceMetadata
  • Acct:TestDBConnection

Citrix.Analytics.Admin.V1:

  • Analytics:GetDBConnection
  • Analytics:GetDBSchema
  • Analytics:GetDBVersionChangeScript
  • Analytics:GetInstalledDBVersion
  • Analytics:ImportDataDefinition
  • Analytics:RemoveServiceMetadata
  • Analytics:ResetServiceGroupMembership
  • Analytics:SetDBConnection
  • Analytics:SetServiceMetadata
  • Analytics:SetSite
  • Analytics:TestDBConnection

Citrix.DelegatedAdmin.Admin.V1:

  • Admin:AddPermission
  • Admin:AddRight
  • Admin:GetAdministrator
  • Admin:GetDBConnection
  • Admin:GetDBSchema
  • Admin:GetDBVersionChangeScript
  • Admin:GetInstalledDBVersion
  • Admin:ImportRoleConfiguration
  • Admin:NewAdministrator
  • Admin:NewRole
  • Admin:NewScope
  • Admin:RemoveAdministrator
  • Admin:RemoveAdministratorMetadata
  • Admin:RemovePermission
  • Admin:RemoveRight
  • Admin:RemoveRole
  • Admin:RemoveRoleMetadata
  • Admin:RemoveScope
  • Admin:RemoveScopeMetadata
  • Admin:RemoveServiceMetadata
  • Admin:ResetServiceGroupMembership
  • Admin:SetAdministrator
  • Admin:SetAdministratorMetadata
  • Admin:SetDBConnection
  • Admin:SetRole
  • Admin:SetRoleMetadata
  • Admin:SetScope
  • Admin:SetScopeMetadata
  • Admin:SetServiceMetadata
  • Admin:TestDBConnection

Citrix.Broker.Admin.V2:

  • Broker:GetDBConnection
  • Broker:GetDBSchema
  • Broker:GetDBVersionChangeScript
  • Broker:GetInstalledDBVersion
  • Broker:GetLease
  • Broker:NewMachineConfiguration
  • Broker:RemoveControllerMetadata
  • Broker:RemoveLease
  • Broker:RemoveLeaseMetadata
  • Broker:RemoveMachineConfigurationMetadata
  • Broker:RemoveMachineConfiguration
  • Broker:RemoveSiteMetadata
  • Broker:RemoveUserFromApplication
  • Broker:ResetLicensingConnection
  • Broker:ResetServiceGroupMembership
  • Broker:SetControllerMetadata
  • Broker:SetDBConnection
  • Broker:SetLeaseMetadata
  • Broker:SetMachineConfiguration
  • Broker:SetMachineConfigurationMetadata
  • Broker:SetSite
  • Broker:SetSiteMetadata
  • Broker:TestDBConnection
  • Broker:TestLicenseServer
  • Broker:UpdateBrokerLocalLeaseCache

Citrix.Configuration.Admin.V2:

  • Config:ExportFeatureTable
  • Config:GetDBConnection
  • Config:GetDBSchema
  • Config:GetDBVersionChangeScript
  • Config:GetInstalledDBVersion
  • Config:GetServiceGroup
  • Config:ImportFeatureTable
  • Config:RegisterServiceInstance
  • Config:RemoveRegisteredServiceInstanceMetadata
  • Config:RemoveServiceGroup
  • Config:RemoveServiceGroupMetadata
  • Config:RemoveServiceMetadata
  • Config:RemoveSiteMetadata
  • Config:ResetServiceGroupMembership
  • Config:SetDBConnection
  • Config:SetRegisteredServiceInstance
  • Config:SetRegisteredServiceInstanceMetadata
  • Config:SetServiceGroupMetadata
  • Config:SetServiceMetadata
  • Config:SetSite
  • Config:SetSiteMetadata
  • Config:TestDBConnection
  • Config:UnregisterRegisteredServiceInstance

Citrix.Host.Admin.V2:

  • Hyp:GetDBConnection
  • Hyp:GetDBSchema
  • Hyp:GetDBVersionChangeScript
  • Hyp:GetInstalledDBVersion
  • Hyp:RemoveServiceMetadata
  • Hyp:ResetServiceGroupMembership
  • Hyp:SetDBConnection
  • Hyp:SetServiceMetadata
  • Hyp:TestDBConnection

Citrix.ConfigurationLogging.Admin.V1:

  • Log:GetDBConnection
  • Log:GetDBSchema
  • Log:GetDBVersionChangeScript
  • Log:GetInstalledDBVersion
  • Log:RemoveOperation
  • Log:RemoveServiceMetadata
  • Log:RemoveSiteMetadata
  • Log:ResetDataStore
  • Log:ResetServiceGroupMembership
  • Log:SetDBConnection
  • Log:SetServiceMetadata
  • Log:SetSite
  • Log:SetSiteMetadata
  • Log:TestDBConnection

Citrix.MachineCreation.Admin.V2:

  • Prov:GetDBConnection
  • Prov:GetDBSchema
  • Prov:GetDBVersionChangeScript
  • Prov:GetInstalledDBVersion
  • Prov:GetServiceConfigurationData
  • Prov:RemoveServiceConfigurationData
  • Prov:RemoveServiceMetadata
  • Prov:ResetServiceGroupMembership
  • Prov:SetDBConnection
  • Prov:SetServiceConfigurationData
  • Prov:SetServiceMetadata
  • Prov:TestDBConnection

Citrix.EnvTest.Admin.V1:

  • EnvTest:GetDBConnection
  • EnvTest:GetDBSchema
  • EnvTest:GetDBVersionChangeScript
  • EnvTest:GetInstalledDBVersion
  • EnvTest:RemoveServiceMetadata
  • EnvTest:ResetServiceGroupMembership
  • EnvTest:SetDBConnection
  • EnvTest:SetServiceMetadata
  • EnvTest:TestDBConnection

Citrix.Monitor.Admin.V1:

  • Monitor:GetConfiguration
  • Monitor:GetDBConnection
  • Monitor:GetDBSchema
  • Monitor:GetDBVersionChangeScript
  • Monitor:GetDataStore
  • Monitor:GetDataStore
  • Monitor:GetInstalledDBVersion
  • Monitor:RemoveServiceMetadata
  • Monitor:ResetDataStore
  • Monitor:ResetServiceGroupMembership
  • Monitor:SetConfiguration
  • Monitor:SetDBConnection
  • Monitor:SetServiceMetadata
  • Monitor:TestDBConnection

Citrix.Storefront.Admin.V1:

  • Sf:BuildCluster
  • Sf:GetClusters
  • Sf:GetDBConnection
  • Sf:GetDBSchema
  • Sf:GetDBVersionChangeScript
  • Sf:GetInstalledDBVersion

Haftungsausschluss

Diese Software bzw. der Mustercode wird wie besehen und ohne Zusicherungen, Gewährleistungen und Bedingungen zur Verfügung gestellt. Verwendung, Modifizierung und Verteilung erfolgen auf eigene Gefahr. CITRIX SCHLIESST SÄMTLICHE AUSDRÜCKLICHEN, STILLSCHWEIGENDEN, GESETZLICHEN ODER ANDERWEITIGEN GEWÄHRLEISTUNGEN AUS. HIERZU ZÄHLEN U. A. DIE HAFTUNG FÜR RECHTSMÄNGEL, DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT UND DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK, DIE RECHTSGEWÄHRLEISTUNG UND DIE GEWÄHRLEISTUNG DER NICHTVERLETZUNG. Unbeschadet der Allgemeingültigkeit des vorstehend Gesagten anerkennen Sie und erklären sich einverstanden, dass (a) die Software bzw. der Mustercode Fehler, Mängel oder andere Probleme aufweisen kann, die zu Datenverlusten oder Eigentumsbeschädigung führen können, (b) es ggf. nicht möglich ist, die Software bzw. den Mustercode vollfunktional zu verwenden und (c) Citrix ohne Ankündigung und oder Haftung die aktuelle Version und/oder zukünftige Versionen die Software bzw. des Mustercodes zurückziehen kann. Die Software bzw. der Mustercode darf unter keinen Umständen im Rahmen risikobehafteter Aktivitäten, zum Beispiel bei der Lebenserhaltung oder für Sprengungen, eingesetzt werden. CITRIX UND VON CITRIX ABHÄNGIGE UNTERNEHMEN SOWIE REPRÄSENTANTEN VON CITRIX ÜBERNEHMEN IM RAHMEN VERTRAGLICHER VERPFLICHTUNGEN ODER JEGLICHER ANDERER HAFTUNGSTHEORIE KEINERLEI HAFTUNG FÜR SCHÄDEN, DIE DURCH DIE VERWENDUNG DER SOFTWARE BZW. DES MUSTERCODES ENTSTEHEN. DAZU GEHÖREN DIREKTE UND SPEZIELLE SCHÄDEN, NEBENSCHÄDEN, SCHADENSERSATZ MIT STRAFWIRKUNG, FOLGESCHÄDEN UND ANDERE SCHÄDEN, SELBST WENN AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WURDE. Sie erklären sich damit einverstanden, Citrix gegen jegliche Ansprüche, die aus einer Verwendung, Modifikation oder Verteilung des Codes durch Sie entstehen, zu verteidigen und schadlos zu halten.

Monitor Service OData API

Zusätzlich zur Anzeige von Verlaufsdaten über die Überwachungsfunktionen können Sie Daten mit der API des Überwachungsdiensts abfragen. Sie können die API für Folgendes verwenden:

  • Analysieren historischer Trends für die Planung
  • Durchführen einer eingehenden Problembehandlung bei Verbindungs- und Maschinenfehlern
  • Extrahieren von Informationen für die Eingabe in andere Tools und Prozesse, z. B. wenn PowerPivot-Tabellen in Microsoft Excel für die Anzeige von Daten auf verschiedene Weise verwendet werden
  • Erstellen einer benutzerdefinierten Benutzeroberfläche auf der Basis der von der API bereitgestellten Daten

Weitere Informationen finden Sie unter Monitor Service OData API. Anweisungen für den Zugriff auf die Monitor Service API finden Sie unter Access Monitor Service data using the OData v4 endpoint in Citrix Cloud.

Citrix Virtual Apps and Desktops-API: Technische Vorschau der Katalogservice-APIs

Eine technische Vorschau der Katalogservice-APIs von Citrix Virtual Apps and Desktops ist unter https://developer.cloud.com/_xenapp_and_xendesktop_service/xenapp_and_xendesktop_service.html verfügbar.