Eine Woche nach dem Update von XenApp 7.18 auf Cirtix Virtual Apps & Desktops (CVAD) 7 1811 startete nach einem Reboot des Delivery Controllers der Citrix AD-Identitätsdienst (CitrixADIdentityService) nicht mehr.
Die Bereitstellung an sich lief ohne Probleme. Allerdings war es nicht möglich die Site im Citrix Studio zu bearbeiten. Der erste Step zum Troubleshooting war, wie so häufig, ein Blick in die Ereignisanzeige, bei dem direkt drei Events auffielen:
- .Net Runtime mit der Event-ID 1026
Anwendung: Citrix.ADIdentity.exe
.Net Runtime Event-ID 1026
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.IO.DirectoryNotFoundException
bei System.IO.__Error.WinIOError(Int32, System.String)
bei System.IO.FileSystemEnumerableIterator1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CommonInit() bei System.IO.FileSystemEnumerableIterator
1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]..ctor(System.String, System.String, System.String, System.IO.SearchOption, System.IO.SearchResultHandler1<System.__Canon>, Boolean) bei System.IO.Directory.GetFiles(System.String, System.String) bei Citrix.Fma.Sdk.Dal.Probe.XduSupport.GetXduFiles(System.String) bei Citrix.Fma.Sdk.Dal.Probe.SchemaProbeDAL.DiscoverDbUpdates(System.String, System.String, System.String, Boolean) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.DoDiscoverDbUpdates(System.String) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.StartDal(System.String) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.StartDal() bei Citrix.Fma.Sdk.ServiceCore.SqlContext.Connect() bei Citrix.ADIdentity.Logic.ADIdentityLogic.Initialize() bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner
1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InitializeService()
bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].RunStartupSequence() bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner
1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].DoWork()
bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].DoWorkShell()
bei System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
bei System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
bei System.Threading.ThreadHelper.ThreadStart()
- Application Error mit der Event-ID 1000 (100)
Name der fehlerhaften Anwendung: Citrix.ADIdentity.exe, Version: 7.20.0.50, Zeitstempel: 0x5bef13e6
Application Error Event-ID 1000 (100)
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.14393.2636, Zeitstempel: 0x5bda7edc
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0000000000034048
ID des fehlerhaften Prozesses: 0x758
Startzeit der fehlerhaften Anwendung: 0x01d4ae7e1c93a320
Pfad der fehlerhaften Anwendung: C:\Program Files\Citrix\ADIdentity\Service\Citrix.ADIdentity.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: e0dc6929-2b5a-4ca3-8e14-1bc6efa367be
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:
- Service Control Manager mit der Event-ID 7031
Der Dienst „Citrix AD-Identitätsdienst“ wurde unerwartet beendet. Dies ist bereits 3 Mal vorgekommen. Folgende Korrekturmaßnahmen werden in 60000 Millisekunden durchgeführt: Neustart des Diensts.
Service Control Manager Event-ID 7031
Leider blieb die Auswertung der Events wenig aufschlussreich. Lediglich „System.IO.DirectoryNotFoundException“ aus dem .Net Runtime Fehler lässt evtl. erahnen, wo bzw. was hapert. Daher wurde als nächstes geprüft, ob der Dienst bzw. die ausführbare Datei „Citrix.ADIdentity.exe“ ein Logfile schreibt oder ob sich ein Log erstellen lässt. Daher kurzerhand in „C:\Program Files\Citrix\ADIdentity\Service\“ und den Executable mit dem Parameter „/?“ gestartet:
C:\Program Files\Citrix\ADIdentity\Service>Citrix.ADIdentity.exe -?
Use this command to configure the Citrix AD Identity Service.
It accepts the following parameters:
-? or -Help Display this usage message
-Show Show existing settings
-Logfile <file> Configure logging to go to <file>
-ClearLogfile Clear log file configuration
-ConfigureFirewall Update Windows Firewall exclusions for the configured ports
-SdkPort <port> Configure the port for the administration SDK
-KeyPort <port> Configure the port for the peer-service SDK
-SvcPort <port> Configure the port for the inter-service SDK
-Uninstall Remove configuration settings, including Windows Firewall
exclusions, and reserved URLs
-Upgrade Perform actions needed after an upgrade of the service to
a new version
-Quiet Do not output status messages
-Install Perform basic install actions to activate the service.
Et voilà: „-Logfile <file> Configure logging to go to“. Schnell in der gleichen Eingabeaufforderung
C:\Program Files\Citrix\ADIdentity\Service>Citrix.ADIdentity.exe -Lgofile "C:\install\ADIdentity.log"
gestartet und direkt einen Blick ins Logfile geworfen, ergab dann die Quelle des des nicht gefundenen Verzeichnisses.
17/01/19 18:39:18.375 2332 0009 11340: ADIdentityLog:System.IO.DirectoryNotFoundException: Ein Teil des Pfades „C:\Program Files\Citrix\ADIdentity\Service\UpdateScripts“ konnte nicht gefunden werden.
C:\install\ADIdentity.log
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileSystemEnumerableIterator1.CommonInit() bei System.IO.FileSystemEnumerableIterator
1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost) bei System.IO.Directory.GetFiles(String path, String searchPattern) bei Citrix.Fma.Sdk.Dal.Probe.XduSupport.GetXduFiles(String dir) bei Citrix.Fma.Sdk.Dal.Probe.SchemaProbeDAL.DiscoverDbUpdates(String path, String targetService, String targetDataStore, Boolean saveMissingUpdates) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.DoDiscoverDbUpdates(String dataStore) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.StartDal(String dataStore) bei Citrix.Fma.Sdk.ServiceCore.SqlContext.StartDal() bei Citrix.Fma.Sdk.ServiceCore.SqlContext.Connect() bei Citrix.ADIdentity.Logic.ADIdentityLogic.Initialize() bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner
1.InitializeService()
bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner1.RunStartupSequence() bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner
1.DoWork()
bei Citrix.Fma.Sdk.ServiceCore.ServiceRunner`1.DoWorkShell()
Somit hat „System.IO.DirectoryNotFoundException“ einen Namen bekommen: „C:\Program Files\Citrix\ADIdentity\Service\UpdateScripts„. Ein Blick ins Verzeichnis ergab, dass dort tatsächlich der Ordner „UpdateScripts“ fehlte. Als der Ordner angelegt wurde, startet der Citrix AD-Identitätsdienst (CitrixADIdentityService) sofort. Vorsichtshalber habe ich das Verzeichnis in einer anderen CVAD 7 1811 Umgebung geprüft und verglichen. Dabei wurde festgestellt, dass weitere Ordner und Dateien fehlten. Daher auf der aktuellen Citrix Virtual Apps & Desktops 7 1811 ISO ins Verzeichnis „C:\install\CVAD7_1811\x64\Citrix Desktop Delivery Controller“ gewechselt und das „ADIdentity_Service_x64.msi“ Paket repariert. Danach waren auch alle anderen Ordner und Verzeichnisse vorhanden.
Zum Schluss sei noch angemerkt, dass man das Logging der Citrix.ADIdentity.exe wieder deaktivieren sollte, da das Logfile rasch anwächst. Zum Deaktivieren ist der Parameter „-ClearLogfile“ gedacht.
C:\Program Files\Citrix\ADIdentity\Service>Citrix.ADIdentity.exe -clearlogfile
Stopping service: Citrix AD Identity Service
Starting service: Citrix AD Identity Service
Schreibe einen Kommentar