Here's a MFCOM script I wrote up really quick that will output all the applications in a farm including their name, citrix management console path, and program neighborhood path. I wrote this because I was working on a customer site where the path between the PN and Citrix console differed causing big support headaches when users called in about apps not working and having trouble identifying which app they were talking about. We used this to discover what everything looked like and to design a new structure. This worked against a Citrix Presentation Server 4.5 Farm. Thanks to http://community.citrix.com/display/xa/Code+Share for providing me the base code to get this working.
Here it is, you can use it by doing cscript script.wsf > output.csv
<package>
<job id=" ListPNFolderPath">
<comment>
By Matt Shorrosh
</comment>
<runtime>
<description>
Enumerates the Application Name, CMC Path, PN Folder Path
</description>
</runtime>
<reference object="MetaFrameCOM.MetaFrameFarm"/>
<script language="VBScript">
Dim theFarm, aServer
'
' Create MetaFrameFarm object
'
Set theFarm = CreateObject("MetaFrameCOM.MetaFrameFarm")
if Err.Number <> 0 Then
WScript.Echo "Can't create MetaFrameFarm object"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
'
' Initialize the farm object.
'
theFarm.Initialize(MetaFrameWinFarmObject)
if Err.Number <> 0 Then
'WScript.Echo "Can't Initialize MetaFrameFarm object"
'WScript.Echo "(" & Err.Number & ") " & Err.Description
'WScript.Echo ""
'WScript.Quit Err.Number
End if
'
' Are you Citrix Administrator?
'
if theFarm.WinFarmObject.IsCitrixAdministrator = 0 then
'WScript.Echo "You must be a Citrix admin to run this script"
'WScript.Echo ""
'WScript.Quit 0
End If
'
For Each anApp In theFarm.Applications
anApp.loaddata(true)
if Err.Number <> 0 Then
WScript.Echo "Can't enumerate applications"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
Wscript.echo anApp.AppName & "," & anApp.DistinguishedName & "," & anApp.PNFolder
Next
</script>
</job>
</package>
No comments:
Post a Comment