Wednesday, June 29, 2011
Automate the assignment of load evaluators
This useful VBScript can be scheduled to run at particular time to automatically assign a load evaluator to a Citrix XenApp Server.
Wednesday, March 23, 2011
Errors occurred when using "Servername" in the discovery process
I recently installed the Access Management Consoles onto an XP desktop pc for our IT Service Desk, but the discovery process was producing an error.
I needed to enable Network COM+ access on the Citrix server specified during the discovery process in order to get this to work.
See here for detailed instructions.
Mitch
I needed to enable Network COM+ access on the Citrix server specified during the discovery process in order to get this to work.
See here for detailed instructions.
Mitch
Labels:
AMC,
Citrix,
console,
discovery,
Presentation Server,
PS 4.5,
servername
Thursday, February 24, 2011
Rebuild the WMI Repository on Windows Server 2003
Use the following command to detect and repair a corrupted WMI Repository:
rundll32 wbemupgd, RepairWMISetup
Re-registering the WMI components
The .DLL and .EXE files used by WMI are located in %windir%\system32\wbem. You will need to re-register all the .DLL and .EXE files in this directory.
To re-register the WMI components, run the following commands at the command prompt:
cd /d %windir%\system32\wbem
for %i in (*.dll) do RegSvr32 -s %i
for %i in (*.exe) do %i /RegServer
Following these steps, it is then neccessary to re-register the Citrix namespace:
From the command line:
cd /d %ProgramFiles%\citrix\system32\citrix\wmi
for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s
Credit goes to the people who wrote these helpful webpages:
http://windowsxp.mvps.org/repairwmi.htm
http://forums.citrix.com/thread.jspa?threadID=69014&tstart=0
Mitch
rundll32 wbemupgd, RepairWMISetup
Re-registering the WMI components
The .DLL and .EXE files used by WMI are located in %windir%\system32\wbem. You will need to re-register all the .DLL and .EXE files in this directory.
To re-register the WMI components, run the following commands at the command prompt:
cd /d %windir%\system32\wbem
for %i in (*.dll) do RegSvr32 -s %i
for %i in (*.exe) do %i /RegServer
Following these steps, it is then neccessary to re-register the Citrix namespace:
From the command line:
cd /d %ProgramFiles%\citrix\system32\citrix\wmi
for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s
Credit goes to the people who wrote these helpful webpages:
http://windowsxp.mvps.org/repairwmi.htm
http://forums.citrix.com/thread.jspa?threadID=69014&tstart=0
Mitch
Labels:
Citrix,
command line,
components,
mof,
rebuild,
register dll,
repair,
repository,
wbem,
WMI
Check for logon sessions before restarting
This script will return the number of Citrix sessions for a given server (total, not active or disconnected) using WMI and determine whether it is ok to restart the server:
On Error Resume Next
Dim strComputer, UserName, Password, SWBemlocator, objWMIService, objItem, colItems, sSessions
Dim oWSH : Set oWSH = CreateObject("WScript.Shell")
strComputer = "servername"
UserName = ""
Password = ""
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\citrix",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from MetaFrame_Server",,48)
For Each objItem in colItems
If objItem.NumberOfSessions <>
oWSH.LogEvent 0, "Number Of Sessions: " & objItem.NumberOfSessions & ".This is the default number, restarting now..."
ShutDown
Else
sSessions = objItem.NumberOfSessions - 3
oWSH.LogEvent 4, "Number Of users still logged on: " & sSessions & ". Cancelling the restart."
End If
Next
Wscript.Quit
Sub ShutDown
Dim nLogOff, nReboot, nForceLogOff, nForceReboot, nPowerDown, nForcePowerDown, colOS, oOperatingSystem
nLogOff=0
nReboot=2
nForceLogOff=4
nForceReboot=6
nPowerDown=8
nForcePowerDown=12
Set colOS = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
For Each oOperatingSystem in colOS
oOperatingSystem.Win32Shutdown(nForceReboot)
Next
End Sub
Note that username and password can be left blank when the script is run locally. I schedule the script to run once per week using the AT command.
Mitch
On Error Resume Next
Dim strComputer, UserName, Password, SWBemlocator, objWMIService, objItem, colItems, sSessions
Dim oWSH : Set oWSH = CreateObject("WScript.Shell")
strComputer = "servername"
UserName = ""
Password = ""
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\citrix",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from MetaFrame_Server",,48)
For Each objItem in colItems
If objItem.NumberOfSessions <>
oWSH.LogEvent 0, "Number Of Sessions: " & objItem.NumberOfSessions & ".This is the default number, restarting now..."
ShutDown
Else
sSessions = objItem.NumberOfSessions - 3
oWSH.LogEvent 4, "Number Of users still logged on: " & sSessions & ". Cancelling the restart."
End If
Next
Wscript.Quit
Sub ShutDown
Dim nLogOff, nReboot, nForceLogOff, nForceReboot, nPowerDown, nForcePowerDown, colOS, oOperatingSystem
nLogOff=0
nReboot=2
nForceLogOff=4
nForceReboot=6
nPowerDown=8
nForcePowerDown=12
Set colOS = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
For Each oOperatingSystem in colOS
oOperatingSystem.Win32Shutdown(nForceReboot)
Next
End Sub
Note that username and password can be left blank when the script is run locally. I schedule the script to run once per week using the AT command.
Mitch
Subscribe to:
Posts (Atom)