Jump to content
  • 0

VMs Randomly Shut Down after XenAgent XenServer Management Agent tools Update

Raul Noa


We've got an issue where some provisioned VMs randomly shut down while in use. This seems to have started after we updated the XenServer management agent for Windows (xentools) to the latest version.


We do have auto update disabled via registry:


HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XenTools value: DisableAutoUpdate DWORD = 1

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XenTools\AutoUpdate value: Identify REG_SZ = NO

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XenTools\AutoUpdate value: InstallDrivers REG_SZ = NO


I question this registry setting:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\XenToolsNetSettings value: Status REG_SZ = AllowUpdate



The logs on the VM indicate the following:


Event #1

Source: XENAGENT Event ID: 1 Level: Information

"The tools requested that the local VM shut itself down."



Source: User32 Event ID: 1074 Level: Information

"The process C:\Windows\system32\xenagent_8_2_1_111.exe (MN154) has initiated the shutdown of computer MN154 on behalf of user NT AUTHORITY\SYSTEM for the following reason: No title for this reason could be found

Reason Code: 0x8000000c

Shutdown Type: shutdown"


XenDesktop 7.15 CU3

XenServer 7.6

XenServer Mangement Agent 7.1.1323

Link to comment

3 answers to this question

Recommended Posts

  • 0

It happens to us when there are active and disconnected sessions on the XenApp 7.15 CU3 servers that have scheduled reboots. 

I haven't tried this suggestion yet.  https://support.citrix.com/article/CTX239537


I set a scheduled task to run a PowerShell logoff script 30 minutes before the scheduled reboots.  It logs off any disconnected sessions.  That seems to have helped with the shutdowns.   However I had one shutdown over the weekend.  Looks like there was an active session and the user didn't log off before it tried to reboot.


PowerShell script if interested:


#Elivate to run as admin
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }
quser | Select-String "Disc" | ForEach {logoff ($_.tostring() -split ' +')[2]}

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...