Nutanix – How to activate Images uploaded from PRISM Central

While uploading the ISO from local machine, single registered cluster is randomly identified for each specified image, and the image is uploaded to it.
The image becomes active on that selected PRISM Elements (PE) and become inactive on other PEs registered to PRISM Central (PC).

 

  • When a cluster needs to create a VM from an image that is available on another cluster, it downloads the image to its local storage.
  • If you want to upload the image on all registered PE, you can use URL option to upload the image.
  • If you want to use an image on a cluster that show as inactive, you can create the VM from Prism Central and use that ISO and place that VM on the target cluster.
  • Use the following command the activate the Image

 

Uploaded Images on PC:

 

If you check PE and see the inactivate Images

Cluster 1:

 

Cluster 2:

To avticate the Images, start a Putty session and Login to PC and send out the following 2 commands

nuclei -username admin -Password <adminpassword> cluster.list

nuclei -username admin -password <adminpassword> image.list

 

Example: Activate PVS-DHCP-D1.iso on Cluster 2. You Need the GUID of each entry.

Output from cluster.list

“Total Entities : 3”
“Entities :”
Name UUID State
NTX041CL1001 000579fd-1808-eb87-0000-0000000258a2 COMPLETE
NTX041CL2001 000579e9-ea06-e8ad-0000-0000000258a5 COMPLETE
Unnamed e0c7ad9e-d78a-40d1-a643-cd1082c10357 COMPLETE

Output from image.list

“Total Entities : 3”
“Length : 3”
“Offset : 0”
“Entities :”
Name UUID State
PVS-DHCP-D1.iso 8f287837-3779-4987-a9ca-5a01b7c5f269 COMPLETE
PVS-DHCP-D2.iso 5d575603-5fd9-4231-8072-b9f1879e80a8 COMPLETE
WinPE_DSM_PROD 9995fb64-5330-423a-abc6-32c142e73163 COMPLETE

With the following screen it’s easier for understanding:

checkout_catalog –destination_cluster_uuid_list=000579e9-ea06-e8ad-0000-0000000258a5 –wait_for_checkout=true 8f287837-3779-4987-a9ca-5a01b7c5f269

If you have processed all Images on your clusters, all Images are now in state active

Cluster 1:

Cluster 2:

Refer to https://portal.nutanix.com/kb/4892

 

 

Citrix 7.15 LTSR CU3 Update – DBMissingOptionalFeature

8 Weeks ago, I’m installed a fresh new Site with 7.15 CU2, after updating the Citrix Site CU3, the monitoring system inform us about the following issue. With CU2 everything works well and the ServiceStatus shows “OK”. Rolling back the DB and the Controller now and open up a Citrix Case SR 78506137. If you figure out the same issue, you can reference to it.

The Studio works well, but I think this is a bug. At a second time, I install the CU3 Update only and check the ServiceStatus before updating the DB Schema, it looks like the same issue.


After one week, we figure out the manual site update failed only. The DB Admin has run the SQL query, it fails on the yellow marked line first, after we remove the “:”

After we remove the ":" from the yellow marked line above, the SQL Query fails with this lines:
Updating Citrix Broker Service schema in [CitrixSite] from version 7.15.1000.0 to 7.15.3000.0 
Msg 50000, Level 18, State 1, Procedure StartUpdate, Line 39 [Batch Start Line 8] 
Msg 50000, Level 18, State 1, Procedure EndUpdate, Line 30 [Batch Start Line 873] 
EndUpdate: ERROR: Failed to update schema state. 
Msg 50000, Level 18, State 1, Procedure StartUpdate, Line 39 [Batch Start Line 877] 
Msg 547, Level 16, State 0, Procedure StartUpdateStep, Line 25 [Batch Start Line 1067] 
The UPDATE statement conflicted with the CHECK constraint "CK_SchemaInfo_ValidProgressStep". The conflict occurred in database "CitrixSite", table "chb_Config.SchemaInfo". 
Msg 4121, Level 16, State 1, Line 1086 
Cannot find either column "chb_Config" or the user-defined function or aggregate "chb_Config.DoUpdateStep", or the name is ambiguous. 
Msg 4121, Level 16, State 1, Line 1098 
Cannot find either column "chb_Config" or the user-defined function or aggregate "chb_Config.DoUpdateStep", or the name is ambiguous. 
Msg 4121, Level 16, State 1, Line 1135 
Cannot find either column "chb_Config" or the user-defined function or aggregate "chb_Config.DoUpdateStep", or the name is ambiguous. 
Msg 4121, Level 16, State 1, Line 1148 
Cannot find either column "chb_Config" or the user-defined function or aggregate "chb_Config.DoUpdateStep", or the name is ambiguous. 
Msg 208, Level 16, State 1, Procedure GetDesktopTagCounts, Line 22 [Batch Start Line 1194] 
Invalid object name 'chb_Config.Desktops'. 
Msg 15151, Level 16, State 1, Line 1230 
Cannot find the object 'GetDesktopTagCounts', because it does not exist or you do not have permission. 
Msg 2715, Level 16, State 3, Procedure GetDesktopGroupLoadIndex, Line 20 [Batch Start Line 1243] 
Column, parameter, or variable #1: Cannot find data type chb_Config.Uid32. 
Parameter or variable '@DesktopGroupUid' has an invalid data type. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1311] 
Could not find object 'chb_Config.ApplicationGroupMappings' or you do not have permission. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1330] 
Could not find object 'chb_Config.DAScopedObjects' or you do not have permission. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1337] 
Could not find object 'chb_Config.DesktopTags' or you do not have permission. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1344] 
Could not find object 'chb_Config.RebootSchedules' or you do not have permission. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1351] 
Could not find object 'chb_State.RebootSchedules' or you do not have permission. 
Msg 15165, Level 16, State 1, Procedure sp_refreshsqlmodule_internal, Line 62 [Batch Start Line 1358] 
Could not find object 'chb_State.WorkerCapabilitiesFull' or you do not have permission. 
Msg 2715, Level 16, State 3, Procedure GetSingleChbApplicationGroup, Line 14 [Batch Start Line 1379] 
Column, parameter, or variable #1: Cannot find data type chb_Config.Uid32. 
Parameter or variable '@Uid' has an invalid data type. 
Msg 2715, Level 16, State 3, Procedure NotePendingAppLaunch, Line 13 [Batch Start Line 1437] 
Column, parameter, or variable #1: Cannot find data type chb_Config.Uid32. 
Parameter or variable '@WorkerUid' has an invalid data type. 
Msg 2715, Level 16, State 3, Procedure NotePendingAppLaunch, Line 16 [Batch Start Line 1437] 
Column, parameter, or variable #4: Cannot find data type chb_Config.Uid32. 
Parameter or variable '@ApplicationUid' has an invalid data type. 
Msg 2715, Level 16, State 3, Procedure NotePendingAppLaunch, Line 17 [Batch Start Line 1437] 
Column, parameter, or variable #5: Cannot find data type chb_Config.Uid32. 
Parameter or variable '@BrokeringUserUid' has an invalid data type. 
Msg 2715, Level 16, State 3, Procedure NotePendingAppLaunch, Line 19 [Batch Start Line 1437] 
Column, parameter, or variable #7: Cannot find data type chb_Config.Bool. 
Parameter or variable '@NewAppInSession' has an invalid data type. 
Msg 208, Level 16, State 1, Line 1581 
Invalid object name 'chb_Config.SchemaFeatures'. 
Msg 1088, Level 16, State 21, Line 2058 
Cannot find the object "chb_Config.AccessPolicyRules" because it does not exist or you do not have permissions. 
Msg 2812, Level 16, State 62, Line 2125 
Could not find stored procedure 'chb_Config.EndUpdate'.

We are checking the SQL Database permissions, based on https://support.citrix.com/article/CTX127998 and run a automatic site update, this works well without any issues. I will send over this informations to Citrix support, hopefully to get more support for manual site update in the future.

 

BIS-F reference configuration

To start easily with BIS-F , I will share here a minimal configuration for the first Setup. At a later time, it’s possible to share different configurations as well.

Installation: Donwload the BIS-F Shared configuration below and, extract the ZIP file and copy both XML Files to the BIS-F Installation folder.

 

V1.0: Can be used for Citrix MCS or native Cloud deployments., with the following settings

BIS-F V1.0

 

Download “BIS-F Reference Downlood V1.0” BISF_Reference_Config_V1.0-1.zip – Downloaded 228 times – 2 KB

 

Citrix Director slow login after shutdown XA6.5 Data Collector

On my latest customer, we are finalized the Server 2016 Migration (XenApp 7.15 LTSR) just in time, end of June 2018. Now we are on the schedule to de-provisioning the old XenApp 6.5 Environment and starting to remove the Farm from the old Webinterface/StoreFront and remove it from the Citrix Director Servers in the IIS Application Settings, called Service.AutoDiscoveryAddressesXA as well and running a iisreset on both Director Servers.

After we are shutting down the old XA 6.5 Data Collectors we are have some phone calls from the ServiceDesk, they reported the Director login is very slow (up to 90 seconds), after we power on the old XA.6.5 Data Collectors the Director login is in a normale operation time.

 

 

What the hell is running there?

I’m checking both Director Server and the Service.AutoDiscoveryAddressesXA is not shown. I’m also enable the Log.FileName = C:\Logs\desktopdirector.log and the Log.LogToFile = 1 to get more informations behind.

After I’m logging in the Director again, I have a look to the Log C:\Logs\desktopdirector.log and can’t imagine what I see, the director discovered the old XenApp 6.5. Environment. After reboot the Director, the issue does not went away.. wtf…!

I’m stumble in the path C:\inetpub\wwwroot\Director\State and found a file called farms.xml. This file listed all Data Collectors from the XenApp 6.5 Environment, i delete this file from both Director Servers, running a iisreset again and…. Whoooo … it works.. The Director Login running in seconds after the XA 6.5 Controllers are shutting down.

 

Base Image Script Framework – Bugfix Minor Release 6.1.0 build 02.105 BETA

 

The long awaiting BETA with some bugfixes is now available. The biggest HotFix is for Citrix AppLayering, now it detect the RunMode and the BIS-F own Diskmode.. with this 2 combinations, BIS-F is able to  detect App- and Platform Layer different if needed. Read here, how it works.

The new Documentation fo this release can be found here

What’s new in the upcoming release > click here

 

 

Release Notes:

Version 6.1.0 build 02.105 — 09.07.2018 19:46:15 :
09.07.2018 MS: Bugfix 48: AppLayering RunMode + Get-DiskMode from PVS / MCS Deployment needed, to get the right layer
02.07.2018 MS: Bugfix 50: set Global Variable after Registry is set (After LogShare is changed in ADMX, the old path will also be checked and skips execution)
01.07.2018 MS: Bugfix 44: Pickup the right Citrix Optimizer Default Template, like Citrix_Windows10_1803.xml, also prepared for Server 2019 Template, like Citrix_WindowsServer2019_1803.xml
01.07.2018 MS: Bugfix 49: After SEP is started with smc.exe, sometimes the service will not be started. Controlled and logged now with Test-BISFServiceState in Line 58
01.07.2018 MS: Bugfix 49: running Test-BISFServiceState after changing Service to get the right Status back
01.07.2018 MS: Bugfix 48: Using RunMode to detect the right AppLayer, persistent between AppLayering updates
28.05.2018 MS: Bugfix 41: Set SplunkForwarder to StartType Automatic
27.05.2018 MS: Bugfix 40: new Script to get pending reboot state
30.03.2018 MS: Bugfix 38: MachineState 3 not detected, Pre-ELM State, Layer finalized must not run
29.03.2018 MS: Bugfix 37: SCOM 2016, uses new cerfifcate store Microsoft Monitoring Agent

 

 

Download “BIS-F 6.1.0 build 02.105 BETA Release” setup-BIS-F-6.1.0-BETA_build02.105.exe_.zip – Downloaded 276 times – 433 KB

 

RDP/HDX issue – Server becomes unresponsive

On my latest customer, sometimes we run in an hanging Citrix XenApp Server 2016 (Citrix 7.15 LTSR CU1) issue, with the following side effects:

  • can’t open TaskManager
  • can’t open CMD
  • can’t restart any service
  • can’t logon with RDP

 

  • powershell can be start
  • if you open up powershell with get-process | out-gridview you can see system processes of the user sessions only

RDP logon stucks:

 

Taskmanager isn’t responding:

On the Server eventlog we found the following warning:

Windows Management Instrumentation has stopped WMIPRVSE.EXE because a quota reached a warning value. Quota: HandleCount Value: 264 Maximum value: 256 WMIPRVSE PID: 36888 Providers hosted in this process: %systemroot%\system32\wbem\mgmtprovider.dll, %SystemRoot%\system32\tscfgwmi.dll, %systemroot%\system32\wbem\cimwin32.dll

 

Solution:

With this above information’s, we open up a Microsoft call and find the right solution

https://blogs.technet.microsoft.com/askperf/2014/08/12/wmi-how-to-troubleshoot-wmi-high-handle-count/

 

Powershell Script during the automation of the Server helps to fix the issue:

$config = gwmi -Class “__ProviderHostQuotaConfiguration” -Namespace root
$config | select -Property * -ExcludeProperty __* | ft -AutoSize
$config.HandlesPerHost = 8192
$config.ThreadsPerHost = 512
$config.Put()

 

Base Image Script Framework (BIS-F) – Minor Update with cool AppLayering Feature and Source Code on GitHub now

With the upcoming Minor Update 6.1.0 build 01.101 we are fixing some issues, the finalize package will be published in the next 2-3 weeks on https://bit.ly/Login_BISF.

NEW: BIS-F Source Code, List of Issues is available now on GitHub https://www.github.com/EUCweb/BIS-F

 

 

 

  • Bugfix 29: AppLayering does not detect the right layer
  • Bugfix 32: Fslogix – When in the GPO specify “Configure FSLogix central rule share” to Disabled, the script still prompt for the path when is executed.
  • Bugfix 33: if sysprep is enabled and other Management SW like Citrix VDA, PVS Target Device Driver, VMWare View Agent is installed, the script breaks and create the BIS-F scheduled task with an empty string, so the personalization never be run and if you enable the Citrix Broker Desktop Delay in the BIS-F ADMX the VDA will never be registered

The most time we need is the AppLayering Issues, to detect the right layer wit the latest AppLayering Version as you can see in the table below.

Based with this information BIS-F is able to handle now all this Informations and can run the right optimizations during sealing or personalization during system startup.

I’m taken some screenshots of the BIS-F Logfile in the different steps

Picture 1: OS Layer is detected

Picture 2: During OS Layer sealing, the Layer finalize will be executed

 

Picture 3: New Platform / App-Layer is detected

 

Picture 4:  During new Platform / App-Layer sealing, the fayer Finalize will be executed

 

Picture 5: Update Platform / App-Layer is detected

 

Picture 6: Update Platform / App-Layer during sealing, Layer finalize will be executed

 

Picture 7: private boot (Outside ELM) is detected

 

Picture 8: private boot (outside ELM) during sealing

 

BIS-F also detect if the Layer finalize is allowed and send out the right information, mostly a reboot must run before to allow Layer Finalize.

Based with this above informations you can extend your onw sripts if needed and put them in the custom BIS-F folder. Use the following global variables to run your custom Scripts in the right layer

Hope this can made your automation easier

Best practices for Sealing and deploying your Master Images

Recorded Session from E2EVC in Orlando, 27. May 2017, get it here

Thanks to Jonathan and Eric

Citrix Monitoring using eG Innovations for an Enterprise Customer

It is time now for another blog. In this blog, you will see how a case study of how we successfully set up Citrix monitoring in a large customer environment. In the last few months, we were jointly working with the eG Innovations team, to deploy eG Enterprise Citrix performance monitoring suite for a large customer.

In this case, the customer has a daily minimum of 11.000 CCU XenApp sessions across the globe. Here is some information about the customer environment:

read here the complete Blog

Base Image Script Framework (BIS-F) 6.1.0 build 01.100

Hi Folks, we working hard in the last few months to make this release even better and better, some long nights to find the right solution for new technologies like Citrix AppLayering to get the Layer, run VM inside or outside ELM… sometimes not so easy.

With BIS-F 6.1.0 many new features and enhacements:

  • For each 3rd Party Tool you can specify a custom path in the ADMX
  • IF Citrix Optimizer (CTXO) or VMware OS Optimization Tool (vmOSOT) is executed and configured with the ADMX, optimizations as describes here are not executed
  • .NET Optimization can be enabled/disable in ADMX
  • P2PVS Tool P2PVS or ImagingWizard can be selected in ADMX
  • vDisk Extension vhd or vhdx can be selected in ADMX
  • specify the Name for the spool and Eventlog Folder in ADMX
  • Custom UNC Path for PVS vDisk can be entered in ADMX
  • Citrix AppLayering: The Layer will be detected and control the service like WSUS in OS-Layer only
  • Offline Defrag of the PVS vDisk on the custom UNC-Path
  • Detect UEFI or Legacy BIOS to select the right commandline Switches for P2PVS/ImagingWizard
  • IF BIS-F is starting remotly, the right POSH Version from the remote Session will be detected
  • Ivanti Automation: Stop the Service can be controlled in ADMX
  • BIS-F Preparation waiting for the personalization if finished before continue
  • Redirect all Windows Eventlogs to the PVS WriteCacheDisk
  • Clear all Windows EventLogs during preparation
  • Citrix Desktop Service Delay can be controlled in ADMX
  • Custom Arguments for P2PVS / ImagingWizard can be enabled and configured in ADMX
  • Log Retention Period can be configured in ADMX
  • Ghost Devices can be controlled and configured to remove in ADMX
  • Support for PrinterLogic PrinterInstaller Client
  • BIS-F personalization can be controlled and skipped in ADMX
  • Support for F-Secure Anti-Virus
  • VMware OS Optimization Tool, specify template to use in ADMX
  • Support for Citrix Optimizer (CTXO)
  • Trend Micro OfficeScan: OfficeScan (OSCE) Agent or WFBS-SVC (Worry-Free Business Security Services icon will be removed in the system tray. Updated ini file and delete run value as per https://success.trendmicro.com/solution/1102736
  • Support for Windows Defender
  • Office and Operating System Rearm State will be logged in BIS-F log
  • With BIS-F uninstaller, the BIS-F schedule Task will be removed also

Download  here

Online Documentation here