Tech Paper: Kurzanleitung für die Citrix Workspace-App

Übersicht

Die Citrix Workspace-App für Windows bietet mithilfe von Citrix Virtual Apps and Desktops Zugriff auf die Ressourcen eines Benutzers. Zu diesen Ressourcen gehören SaaS, Web- und Legacy-Anwendungen sowie Desktops. Die Citrix Workspace-App bietet Zugriff über den Desktop, das Startmenü, die Citrix Workspace-Benutzeroberfläche und Webbrowser.

Nebenbei ist es möglich, mit der Citrix Workspace-App für HTML5 auf Ressourcen auf einem Windows-Gerät zuzugreifen, ohne die Citrix Workspace-App für Windows zu installieren. Es besteht jedoch ein erheblicher Funktionsunterschied zwischen beiden Kunden. Einen vollständigen Überblick über alle Funktionen, die in den einzelnen verfügbaren Versionen der Workspace-App unterstützt werden, finden Sie in der Feature-Matrix der Citrix Workspace-App.

Installation

Die neueste Version der Citrix Workspace-App für Windows kann hierheruntergeladen werden. Die Citrix Workspace-App kann sowohl auf Ihren Windows-Clients als auch auf Ihren Citrix Workern (Ihren VDAs) installiert werden.

Obwohl dies technisch möglich ist, müssen die in der CitrixWorkspaceApp.exeenthaltenen Dateien nicht extrahiert werden. Es wird dringend empfohlen, die Citrix Workspace-App direkt mit der ausführbaren Datei zu installieren.

Es ist möglich, die Installationsdatei CitrixWorkspaceApp.exe in CitrixWorkspaceAppWeb.exeumzubenennen. Durch das Umbenennen dieser Datei wird die Schaltfläche Konto hinzufügen aus dem letzten Dialogfenster am Ende der Installation entfernt. Es verhindert auch, dass das Fenster Konto hinzufügen (First Time Use, FTU) bei der ersten Anmeldung angezeigt wird. Dieser Modus ist besser geeignet, wenn nur der Zugriff über den Webstore geplant ist.

Falls Sie die Citrix Workspace-App ohne Administratorrechte installieren möchten, beachten Sie Folgendes:

  • Der Microsoft Visual C ++ Redistributable 2017 (sowohl 32-Bit als auch 64-Bit) muss auf dem lokalen Computer vorinstalliert sein. Dies ist eine Voraussetzung für die Installation der Citrix Workspace-App. Visual C ++ Redistributable kann nur mit Administratorrechten installiert werden.
  • Die folgenden Komponenten der Citrix Workspace-App können nur mit Administratorrechten installiert werden:
    • SSON (Single Sign-On)
    • URL-Umleitung
    • Lokaler App-Zugriff
    • USB-Unterstützung
    • App-Schutz
  • Wenn die Installation benutzerbasiert ist, muss die Citrix Workspace-App für jeden Benutzer installiert sein, der sich am lokalen Computer anmeldet. Der Standardinstallationspfad für benutzerbasierte Installationen ist C:\Users\%UserName%\AppData\Local\Citrix\ICA Client.
  • Um mögliche Konflikte zu vermeiden, müssen Sie alle benutzerbasierten Installationen der Citrix Workspace-App auf dem lokalen Computer deinstallieren, bevor Sie die Citrix Workspace-App mit Administratorrechten installieren.

Befehlszeilen-Argumente

Die Citrix Workspace-App enthält viele Installationsparameter. Eine vollständige Übersicht über alle verfügbaren Parameter finden Sie in der Produktdokumentation.

Stellen Sie für eine erfolgreiche Einführung sicher, dass Sie jeden der Parameter verstehen und dass sie auf die Anforderungen Ihres Unternehmens abgestimmt sind. Beispiel:

  • Benötigen einige Benutzer in Ihrem Unternehmen lokalen App-Zugriff? Lokaler App-Zugriff ermöglicht die Integration von lokal installierten Anwendungen in einem gehosteten Desktop. Wenn ja, stellen Sie sicher, dass Sie den Parameter /FORCE_LAA =1 angeben, um die Local App Access-Komponente zu installieren.
  • Dürfen Benutzer Citrix Virtual Apps and Desktops verwenden, ohne sich erneut authentifizieren zu müssen? Wenn ja, stellen Sie sicher, dass Sie die Parameter /includeSSON einbeziehen, um die Single Sign-On-Komponente zu installieren, und /ENABLE_SSON=Yes, um die Single Sign-On-Komponente zu aktivieren.

    Hinweis:

    Sie können auch das Befehlszeilentool der Citrix Workspace-App verwenden, um die exakte Befehlszeilensyntax zu erstellen (CTX227370).

Wenn Sie von einer älteren und nicht unterstützten Version (z. B. Citrix Receiver 3.4) auf die Citrix Workspace-App aktualisieren, müssen Sie unbedingt den Parameter /rcu oder /forceinstall (Citrix Workspace app 1909 und höher) verwenden.

Beachten Sie, dass einige Komponenten, z. B. das Aktivieren von Single Sign-On, einen Neustart des lokalen Rechners erfordern.

Hier ist ein Beispiel für die Befehlszeilensyntax: CitrixWorkspaceApp.exe /silent /includeSSON /FORCE_LAA=1

Installationspfad

Der Standardinstallationspfad für maschinenbasierte Installationen ist C:\Program Files (x86)\Citrix\ICA Client.

Die Citrix Workspace-App schreibt mehrere Protokolldateien in das Verzeichnis %TEMP% im Unterordner CTXReceiverInstallLogs-%Date%-%Time%. Die folgenden Protokolldateien werden erstellt:

  • Log-Dateien vom Hauptinstallationsprogramm:
    • TrolleyExpress-%Date%-%Time%.log
  • Protokolldateien pro Komponente (MSI-Installer):
    • CtxInstall-AppProtection-%Date%-%Time%.log
    • CtxInstall-AuthManager-%Date%-%Time%.log
    • CtxInstall-CtxBrowserInstaller-%Date%-%Time%.log
    • CtxInstall-DesktopViewer-%Date%-%Time%.log
    • CtxInstall-GenericUSB-%Date%-%Time%.log
    • CtxInstall-ICAWebWrapper-%Date%-%Time%.log
    • CtxInstall-PackageInstaller-%Date%-%Time%.log
    • CtxInstall-RIInstaller-%Date%-%Time%.log
    • CtxInstall-SelfServicePlugin-%Date%-%Time%.log
    • CtxInstall-Vd3dClient-%Date%-%Time%.log
    • CtxInstall-WebHelper-%Date%-%Time%.log
    • CtxInstall-WinDockerInstaller-%Date%-%Time%.log

Der genaue Speicherort des Temp-Ordners hängt von dem Benutzer ab, der die Installation ausführt. Der temporäre Ordner des lokalen Systemkontos (z. B. von Microsoft SCCM verwendet) lautet beispielsweise C:\Windows\Temp. Der Logfile-Pfad kann nicht geändert werden. Es ist möglich, die Protokolldateien nach Abschluss der Installation der Citrix Workspace-App in ein anderes Verzeichnis zu kopieren.

Konfiguration

In einer Active Directory-Infrastruktur kann die Citrix Workspace-App mithilfe von Microsoft-Gruppenrichtlinien zentral konfiguriert werden. Dies erfordert, dass die administrativen Vorlagen (die ADMX- und ADML-Dateien) für die Citrix Workspace-App in Ihren Group Policy Central Store kopiert werden.

ADMX-Dateien enthalten die eigentlichen Einstellungen. ADML-Dateien sind die Sprachdateien, die den in der Gruppenrichtlinien-Verwaltungskonsole angezeigten Text enthalten.

Die administrativen Vorlagendateien sind im Installationsverzeichnis der Citrix Workspace-App enthalten:

  • C:\Program Files (x86)\Citrix\ICA Client\Configuration\CitrixBase.admx
  • C:\Program Files (x86)\Citrix\ICA Client\Configuration\receiver.admx
  • C:\Program Files (x86)\Citrix\ICA Client\Configuration\%language%\CitrixBase.adml
  • C:\Program Files (x86)\Citrix\ICA Client\Configuration\%language%\receiver.adml

Sie können auch von der Citrix-Website im Abschnitt Downloads für Administratoren (Bereitstellungstools)heruntergeladen werden.

Kopieren Sie die ADMX- und ADML-Dateien in den Group Policy Central Store:

  • Der Standardpfad für die ADMX-Dateien lautet: %LogonServer%\sysvol\%Domain%\Policies\PolicyDefinitions
  • Der Standardpfad für die ADML-Dateien lautet: %LogonServer%\sysvol\%Domain%\Policies\PolicyDefinitions\%Language%

Zu Testzwecken können Sie die administrativen Vorlagen auf einen lokalen Computer (C:\Windows\PolicyDefinitions) kopieren und den lokalen Gruppenrichtlinien-Editor (gpedit.msc) verwenden, um die Einstellungen anzuzeigen und zu verwalten.

Die Citrix Workspace-App enthält sowohl Einstellungen pro Computer als auch pro Benutzer. Es stehen viele Einstellungen zur Verfügung, zum Beispiel:

  • Computerkonfiguration\ Richtlinien\ Administrative Vorlagen\ Citrix Components\ Citrix Workspace
    • DPI \ High DPI: In den meisten Umgebungen reicht die Standardeinstellung aus, aber falls Benutzer mit mehreren Bildschirmen Probleme melden, müssen Sie möglicherweise die DPI-Konfiguration ändern.
    • SelfService \ EnableFTU: Deaktivieren Sie diese Einstellung, um das Fenster Konto hinzufügen bei der ersten Anmeldung des Benutzers zu verhindern. Das Umbenennen der Installationsdatei CitrixWorkspaceApp.exe in CitrixWorkspaceAppWeb.exe hat das gleiche Ergebnis.
    • StoreFront\ NetScaler Gateway URL/StoreFront-Kontenliste: Verwenden Sie diese Einstellung, um NetScaler Gateway- oder StoreFront-URLs automatisch zur Workspace-App des Benutzers hinzuzufügen.
  • Benutzerkonfiguration\ Richtlinien\ Administrative Vorlagen\ Citrix Components\ Citrix Workspace
    • Benutzerauthentifizierung\ Lokaler Benutzername und Kennwort: Um Single Sign-On zu erlauben, aktivieren Sie diese Einstellung und kreuzen Sie die Optionen Passthrough-Authentifizierung aktivieren und Passthrough-Authentifizierung für alle ICA-Verbindungen zulassenan.

Beim Start einer Sitzung wird dem Benutzer möglicherweise ein Dialogfenster angezeigt, in dem nach Berechtigungen für den Gerätezugriff gefragt wird (z. B. für lokale Laufwerke, Webcams oder Mikrofone). Standardmäßig basieren die Beschränkungen des Desktop Viewer Clientgeräts auf der Internetregion. Dieses Verhalten kann durch Erstellen und Konfigurieren der Registrierungsschlüssel für Client Selective Trust geändert werden. Als Administrator können Sie die Zugriffsebene definieren, indem Sie die Registrierung ändern. Es gibt vier Zugriffsebenen:

  • 0 = Kein Zugriff
  • 1 = Nur Lesen
  • 2 = Voller Zugriff
  • 3 = Benutzer auffordern

Die Registrierungsschlüssel und Werte des Client Selective Trust werden nicht automatisch erstellt. Sie können entweder mithilfe von Gruppenrichtlinien oder direkt in der Registrierung erstellt und konfiguriert werden. Der folgende Artikel enthält ausführliche Informationen zur Konfiguration der Client Selective Trust-Registrierungseinstellungen : CTX133565.

In dem Artikel kann eine ZIP-Datei heruntergeladen werden, die sowohl Gruppenrichtliniendateien (ADM, ADMX und AMDL) als auch REG-Dateien enthält. Wenn Sie Gruppenrichtlinien zum Konfigurieren Ihrer Clients verwenden, wird empfohlen, die ADMX- und ADML-Dateien zu verwenden.

Richtlinien für Client-selektive Vertrauensgruppen

Es ist auch möglich, die REG-Datei zu verwenden, um die Registrierungsschlüssel und Werte von Client Selective Trust zu erstellen und zu konfigurieren. Verwenden Sie die Datei ReceiverCSTRegUpx64.reg für 64-Bit-Betriebssysteme oder die Datei ReceiverCSTRegUpx86.reg für 32-Bit-Betriebssysteme. Beachten Sie bei der Verwendung der REG-Datei, dass Benutzer die Einstellungen für den Gerätezugriff ändern können. Wenn Sie verhindern möchten, dass der Benutzer die Einstellungen ändert, legen Sie den Wert (Standard) im folgenden Registrierungsschlüssel auf Falschfest:

HKLM\SOFTWARE\WOW6432Node\Citrix\ICA Client\Client Selective Trust\oidPredefinedSecurityPolicySettings\InstantiatedSecurityPolicyEditable

Manchmal sind administrative Vorlagen von anderen Produkten erforderlich, um das Verhalten der Citrix Workspace-App zu konfigurieren.

Warnung: Die folgenden Konfigurationen ermöglichen es möglicherweise, dass bösartige Sites ohne Aufforderung stillschweigend eine Sitzung zu ihren bösartigen VDAs starten.

Wenn beispielsweise die Eingabeaufforderung Open Citrix Workspace Launcher bei jedem Start einer StoreFront-Ressource in Google Chrome und Microsoft Edge auf Chromium angezeigt wird, konfigurieren Sie die folgenden Einstellungen:

  • Benutzerkonfiguration\ Administrative Vorlagen\ Google\ Google Chrome
    • Richtlinieneinstellung: Zugriff auf eine Liste von URLs erlauben -> enable
    • Richtlinienwert: Empfänger: //*
  • Benutzerkonfiguration\ Administrative Vorlagen\ Microsoft Edge
    • Richtlinieneinstellung: Definieren Sie eine Liste der erlaubten URLs -> enable
    • Richtlinienwert: Empfänger: //*

Die benötigten ADMX-Dateien können hier heruntergeladen werden:

Optimierung und Sicherheit

Die Arbeit mit virtuellen Anwendungen und Desktops auf Remote-Systemen bedeutet zwei Dinge:

  1. Die Ressourcen (CPU/RAM) des Remote-Systems werden von mehreren Benutzern gleichzeitig genutzt und können zeitweise unter hoher Last laufen.
  2. Die Kommunikation zwischen dem lokalen Endpunkt und dem Remote-System kann aufgrund der Netzwerkleistung (z. B. Latenz und Jitter) geringer als optimal sein.

Aus diesem Grund wurden verschiedene Optimierungsfunktionen eingeführt.

Citrix HDX RealTime Optimization Pack

Eine dieser Funktionen betrifft das Citrix HDX RealTime Optimization Pack für Microsoft Skype for Business. Das RealTime Optimization Pack besteht aus zwei Komponenten:

  1. Die HDX RealTime Media Engine (wird zusammen mit der Citrix Workspace-App auf dem lokalen Endpunkt ausgeführt).
  2. Der HDX RealTime Connector (läuft auf dem VDA im Rechenzentrum zusammen mit dem Microsoft Skype for Business-Client).

Die HDX RealTime Media Engine führt die Medienverarbeitung direkt auf dem Benutzergerät durch. Dies führt zur Entlastung des Servers und unterstützt maximale Skalierbarkeit, wodurch der Verbrauch an Netzwerkbandbreite minimiert und optimale Audioqualität sichergestellt wird.

Die HDX RealTime Media Engine kann nur installiert werden, wenn die Citrix Workspace-App bereits vorhanden ist.

Laden Sie hier die neueste Version des Citrix RealTime Optimization Pack herunter.

Weitere Informationen zum Citrix HDX RealTime Optimization Pack for Microsoft Skype for Business finden Sie in der Produktdokumentation.

Optimierung für Microsoft Teams

In Bezug auf Microsoft Teams ist keine weitere Optimierung erforderlich. Alle verfügbaren Optimierungsfunktionen sind standardmäßig in der Citrix Workspace-App und dem Virtual Delivery Agent (VDA) in den folgenden Versionen enthalten:

  • Citrix Workspace App 1907 oder höher
  • Delivery Controller 1906.2 oder höher
  • Virtual Delivery Agent (VDA) Version 1906.2 oder höher
  • Microsoft Teams Version 1.2.00.31357 oder höher

Weitere Informationen finden Sie in der Produktdokumentation.

Umleitung des Browserinhalts

Die Funktion Browser-Inhaltsumleitung verhindert das Rendern von Webseiten auf der Positivliste auf der VDA-Seite. Stattdessen werden die Webseiten auf dem lokalen Endpunkt gerendert.

Weitere Informationen zur Konfiguration der Browser-Inhaltsumleitung finden Sie in der Produktdokumentation.

Citrix Desktopschloss

Einige Benutzer in Ihrer Organisation müssen möglicherweise nicht mit dem lokalen Desktop ihres PCs interagieren. Sie benötigen möglicherweise nur ihren virtuellen Desktop. Citrix Desktop Lock kann physische PCs sperren und diese Maschinen effektiv in den Kioskmodus versetzen. Wenn der PC gestartet wird, wird dem Benutzer sein virtueller Desktop anstelle des Desktops des lokalen Betriebssystems angezeigt.

Citrix Desktop Lock ist eine separate Komponente und ist nicht in der Citrix Workspace-App enthalten. Die Citrix Workspace-App muss installiert sein, bevor Citrix Desktop Lock installiert werden kann. SSON muss bei der Installation der Citrix Workspace-App aktiviert sein, und ein Store muss entweder während der Installation oder mit einer Gruppenrichtlinie konfiguriert werden. Citrix Desktop Lock funktioniert auf in Domänen eingebundenen Maschinen.

Laden Sie hier die neueste Version von Citrix Desktop Lock herunter.

Weitere Informationen zur Installation und Konfiguration von Citrix Desktop Lock finden Sie in der Produktdokumentation.

App-Schutz

Die Citrix Workspace-App Version 1912 führte den neuen Schutzder Sicherheitsfunktion ein. Dies ist eine Zusatzfunktion für die Citrix Workspace-App, die erhöhte Sicherheit bei der Verwendung von veröffentlichten Ressourcen von Citrix Virtual Apps and Desktops bietet. Um genauer zu sein. Der App-Schutz bietet Funktionen für Anti-Keylogging und Anti-Screen-Capturing in einer Citrix HDX-Sitzung.

Stellen Sie bei unbeaufsichtigten Installationen sicher, dass Sie bei der Installation der Citrix Workspace-App (Produktdokumentation ) den Switch /includeappprotectioneinbeziehen.

Weitere Informationen zum App-Schutz finden Sie in der Produktdokumentation.

Automatisierung

Größere Unternehmen möchten möglicherweise die Installation und Konfiguration der Citrix Workspace-App auf ihren Windows-Endpunktgeräten automatisieren. Es gibt verschiedene Möglichkeiten, dies zu erreichen.

Verschiedene Bereitstellungsskripts (*.bat-Dateien) können von der folgenden URL im Abschnitt Downloads für Adminsheruntergeladen werden.

Bevor sie bereitgestellt werden können, müssen diese Batchdateien zuerst an die Umgebung Ihres Unternehmens angepasst werden.

Eine andere Möglichkeit besteht darin, ein benutzerdefiniertes PowerShell-Skript wie dieses zu verwenden:

Haftungsausschluss

Diese Softwareanwendungen werden Ihnen wie besehen ohne Zusicherungen, Garantien oder Bedingungen jeglicher Art zur Verfügung gestellt. Verwendung 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 Softwareanwendung 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 Softwareanwendung vollfunktional zu verwenden und (c) Citrix ohne Ankündigung und oder Haftung die aktuelle Version und/oder zukünftige Versionen der Softwareanwendung zurückziehen kann. Der Code 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 SOFTWAREANWENDUNG 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.

Script-Beispiel

#==========================================================================
# INSTALLING AND CONFIGURING CITRIX WORKSPACE APP FOR WINDOWS
#
# Author: Citrix Systems, Inc.
# Date  : 16.03.2020
# Editor: Microsoft Visual Studio Code
# Citrix Workspace app versions supported by this script: ALL
#==========================================================================

# Error handling
$global:ErrorActionPreference = "Stop"
if($verbose){ $global:VerbosePreference = "Continue" }

# Disable File Security (prevents the "Open File – Security Warning" dialog -> "Do you want to run this file")
$env:SEE_MASK_NOZONECHECKS = 1

# Custom variables [edit | customize to your needs]
$LogDir = "C:\Logs\Citrix Workspace app"                                       # the full path to your log directory
$LogFile = Join-Path $LogDir "Install Citrix Workspace app.log"                # the full path to your log file
$StartDir = $PSScriptRoot                                                      # the directory path of the installation file(s). $PSScriptRoot is the directory of the current script.
$InstallFileName = "CitrixWorkspaceApp.exe"                                    # the name of the installation file. Options: 'CitrixWorkspaceApp.exe' or 'CitrixWorkspaceAppWeb.exe'.
$InstallArguments = "/silent /includeSSON /FORCE_LAA=1"                        # the command line arguments for the installation file
$ClientSelectiveTrustRegKeys = "CitrixWorkspaceApp_Client_Selective_Trust.reg" # the name of the registry file containing the Client Selective Trust settings

# Create the log directory if it does not exist
if (!(Test-Path $LogDir)) { New-Item -Path $LogDir -ItemType directory | Out-Null }

# Function WriteToLog
Function WriteToLog {
    param(
        [string]$InformationType,
        [string]$Text
    )

    $DateTime = (Get-Date -format dd-MM-yyyy) + " " + (Get-Date -format HH:mm:ss)
    if ( $Text -eq "" ) {
        Add-Content $LogFile -value ("")   # Write an empty line
    } else {
        Add-Content $LogFile -value ($DateTime + " " + $InformationType.ToUpper() + " - " + $Text)
    }
}

# Create a new log file (overwriting any existing one)
New-Item -Path $LogFile -ItemType "file" -force | Out-Null

# Write to log file
WriteToLog "I" "Install Citrix Workspace app" $LogFile
WriteToLog "I" "----------------------------" $LogFile
WriteToLog "-" "" $LogFile

############################
# Pre-Installation         #
############################

# Cleanup: delete existing group policy registry keys (reference: https://docs.citrix.com/en-us/citrix-workspace-app-for-windows/install.html#uninstall)
WriteToLog "I" "Cleanup: delete existing Citrix Workspace group policy registry keys" $LogFile
$x = 0
try {
    $RegKeyPath = "hklm:\SOFTWARE\Policies\Citrix\ICA Client"
    if ( Test-Path $RegKeyPath ) {
        $x++
        Remove-Item -Path $RegKeyPath -recurse
    }
    $RegKeyPath = "hklm:\SOFTWARE\Wow6432Node\Policies\Citrix\ICA Client"
    if ( Test-Path $RegKeyPath ) {
        $x++
        Remove-Item -Path $RegKeyPath -recurse
    }
    if ( $x -eq 0 ) {
        WriteToLog "I" "No existing group policy registry keys were found. Nothing to do." $LogFile
    } else {
        WriteToLog "S" "The group policy registry keys were deleted successfully" $LogFile
    }
} catch {
    WriteToLog "E" "An error occurred trying to delete the group policy registry keys (error: $($Error[0]))" $LogFile
    Exit 1
}

# Write an empty line to the log file
WriteToLog "-" "" $LogFile

# Cleanup: delete old Citrix Workspace app log folders in the TEMP directory
WriteToLog "I" "Cleanup: delete old Citrix Workspace app log folders" $LogFile
try {
    Get-ChildItem -path ( Join-Path $env:Temp "CTXReceiverInstallLogs*" ) -directory | Remove-Item -force -recurse
    WriteToLog "S" "The old log folders were deleted successfully (or they did not exist in the first place)" $LogFile
} catch {
    WriteToLog "E" "An error occurred trying to delete the old log folders (error: $($Error[0]))" $LogFile
    Exit 1
}

# Write an empty line to the log file
WriteToLog "-" "" $LogFile

############################
# Installation             #
############################

$InstallFile = Join-Path $StartDir $InstallFileName
WriteToLog "I" "Install Citrix Workspace app" $LogFile
WriteToLog "I" "Command: $InstallFile $InstallArguments" $LogFile
if ( Test-Path $InstallFile ) {
    $Process = Start-Process -FilePath $InstallFile -ArgumentList $InstallArguments -PassThru -ErrorAction Stop
    Wait-Process -InputObject $process
    switch ($Process.ExitCode) {
        0 { WriteToLog "S" "Citrix Workspace app was installed successfully (exit code: 0)" $LogFile }
        3 { WriteToLog "S" "Citrix Workspace app was installed successfully (exit code: 3)" $LogFile } # Some Citrix products exit with 3 instead of 0
        1603 {
            WriteToLog "E" "A fatal error occurred (exit code: 1603). Some applications throw this error when the software is already (correctly) installed! Please check the log files!" $LogFile
            Exit 1
            }
        1605 {
            WriteToLog "E" "Citrix Workspace app is not currently installed on this machine (exit code: 1605)" $LogFile
            Exit 1
            }
        1619 {
            WriteToLog "E" "The installation files cannot be found. The PS1 script should be in the root directory and all source files in the subdirectory 'Files' (exit code: 1619)" $LogFile
            Exit 1
            }
        3010 { WriteToLog "W" "A reboot is required (exit code: 3010)!" $LogFile }
        40008 {
            WriteToLog "I" "This version of Citrix Workspace app has already been installed. Nothing to do!" $LogFile
            # Re-enable File Security
            Remove-Item env:\SEE_MASK_NOZONECHECKS

            # Write an empty line to the log file
            WriteToLog "-" "" $LogFile
            WriteToLog "I" "End of script" $LogFile
            Exit 0
        }
        default {
            WriteToLog "E" "The installation ended in an error (exit code: $($Process.ExitCode))" $LogFile
            Exit 1
        }
    }
} else {
    WriteToLog "E" "The file '$InstallFile' could not be found" $LogFile
    Exit 1
}

# Write an empty line to the log file
WriteToLog "-" "" $LogFile

############################
# Post-Installation        #
############################

# Optional: import the Client Selective Trust registry keys and values. This prevents security popup messages regarding permissions for access to files, microphones, cameras, scanners, etc. in the local intranet and trusted sites.
# Reference: How to Configure Default Device Access Behavior of Receiver, XenDesktop and XenApp (https://support.citrix.com/article/CTX133565)
$RegFile = Join-Path $StartDir $ClientSelectiveTrustRegKeys
WriteToLog "I" "Optional: import the Client Selective Trust registry keys and values. This prevents security popup messages during logon" $LogFile
WriteToLog "I" "Import registry file '$RegFile'" $LogFile
if ( Test-Path $RegFile ) {
    try {
        $process = start-process -FilePath "reg.exe" -ArgumentList "IMPORT ""$RegFile""" -WindowStyle Hidden -Wait -PassThru
        if ( $process.ExitCode -eq 0 ) {
            WriteToLog "S" "The registry settings were imported successfully (exit code: $($process.ExitCode))" $LogFile
        } else {
            WriteToLog "E" "An error occurred trying to import registry settings (exit code: $($process.ExitCode))" $LogFile
            Exit 1
        }
    } catch {
        WriteToLog "E" "An error occurred trying to import the registry file '$RegFile' (error: $($Error[0]))!" $LogFile
        Exit 1
    }
} else {
    WriteToLog "I" "The file '$RegFile' could not be found. Nothing to do." $LogFile
}

# Write an empty line to the log file
WriteToLog "-" "" $LogFile

# Copy the Citrix Workspace app log files to the custom log path defined in the variable '$LogDir'
WriteToLog "I" "Copy the log files from the TEMP directory to '$LogDir'" $LogFile
$CitrixLogPath = (Get-ChildItem -directory -path $env:Temp -filter "CTXReceiverInstallLogs*").FullName
if ( Test-Path ( $CitrixLogPath + "\*.log" ) ) {
    $SourceFiles = Join-Path $CitrixLogPath "\*.log"
    WriteToLog "I" "Source files          = $SourceFiles" $LogFile
    WriteToLog "I" "Destination directory = $LogDir" $LogFile
    try {
        Copy-Item $SourceFiles -Destination $LogDir -Force -Recurse
        WriteToLog "S" "The log files were copied successfully" $LogFile
    } catch {
        WriteToLog "E" "An error occurred trying to copy the log files" $LogFile
        Exit 1
    }
} else {
    WriteToLog "I" "There are no log files in the directory '$CitrixLogPath'. Nothing to copy." $LogFile
}

# Re-enable File Security
Remove-Item env:\SEE_MASK_NOZONECHECKS

# Write an empty line to the log file
WriteToLog "-" "" $LogFile
WriteToLog "I" "End of script" $LogFile
<!--NeedCopy-->

Speichern Sie das Skript als *.ps1-Datei und führen Sie das Skript wie folgt aus:

powershell.exe -executionpolicy bypass -file "C:\Temp\Citrix Workspace app installation.ps1"

Stellen Sie sicher, dass Sie das PowerShell-Skript als Administrator ausführen. Standardmäßig erwartet das PowerShell-Skript, dass sich das Installationsprogramm (CitrixWorkspaceApp.exe) und optional die Registrierungsdatei, die die Registrierungsschlüssel und Werte von Client Selective Trust enthält, im selben Verzeichnis wie das Skript selbst befinden. Ändern Sie den Installationspfad und den Skriptnamen auf Ihre Anforderungen.

In Protokolldateien werden geschrieben C:\Logs\Citrix Workspace app, aber dieser Pfad kann durch Ändern der Variablen $LogDir und geändert werden $LogFile. Alle vom Citrix Workspace-App-Installationsprogramm generierten Protokolldateien werden nach Abschluss der Installation in das Protokollverzeichnis (definiert in der Variablen $LogDir) kopiert.

Außerdem entfernt das Skript alle vorhandenen maschinenspezifischen Gruppenrichtlinieneinstellungen, indem es die folgenden beiden Registrierungsschlüssel löscht:

  • HKLM\SOFTWARE\Policies\Citrix\ICA Client
  • HKLM\SOFTWARE\Wow6432Node\Policies\Citrix\ICA Client

Das Skript importiert auch die Registrierungsdatei Client Selective Trust, dies ist jedoch optional. Wenn keine *.reg-Datei gefunden wird, wird das Skript nicht mit einem Fehler enden.

Sie können Skripts in einer Active Directory-Gruppenrichtlinie oder mithilfe von Electronic Software Distribution Software (ESD) ausführen, z. B. Microsoft SCCM.

Adoption

Nach der Erstinstallation und -konfiguration ist eine der kritischsten Bereitstellungsphasen die Schulung und das Onboarding von Endbenutzern. Citrix hat eine Liste der Ressourcen zur Einführung von Endbenutzern von Citrix Workspace erstellt, die alles enthält, was Sie benötigen, um Ihren Endbenutzern zu helfen, Citrix Workspace zu verwenden. Im Abschnitt Toolsfinden Sie alles, einschließlich eines Beispielzeitplans für die Bereitstellung, E-Mail-Vorlagen, Flyer und Adoptionskits.

Deinstallieren

Die Deinstallation der Citrix Workspace-App für Windows kann mit der folgenden Befehlszeile erfolgen: CitrixWorkspaceApp.exe /silent /uninstall

Weitere Informationen finden Sie in der Produktdokumentation

Tech Paper: Kurzanleitung für die Citrix Workspace-App