Here is a quick MFCOM script to list all the published applications and folders in a specified folder or folders. There are two options for using the script. Option one takes any number of command line arguments. Each command line argument represents a folder name. Option two takes no command line arguments and relies on hard-coded folder names within the script.
Suppose you had the following tree structure for your published applications:
Now, say you wanted to run a script that only returned applications in the Testing folder and Microsoft Applications folder. To accomplish this, run the following at a command prompt:
cscript //Nologo GetAppsInFolders.wsf "Testing" "Microsoft Applications"
The above command produces the following results:
Note that every folder specified is a child of the “Applications” folder. To specify a folder that is not a child of the “Applications” folder, you must specify the path relative from “Applications”. For instance, if you wanted to get only the applications published in the “New Folder” under “Testing”, run the following command:
cscript //Nologo GetAppsInFolders.wsf "Testing/New Folder"
The above command produces the following results:
To set up the hard-coded folders, open the script in a text editor and look for the following lines (starting around line 31):</p>
'
' If no command line arguments, use hard-coded folders
'
if WScript.Arguments.Count = 0 Then
ReDim arrFolders(2)
arrFolders(0) = "Testing"
arrFolders(1) = "Microsoft Applications"
Else
Change ReDim arrFolders(2) to ReDim arrFolders(x) where x represents the number of folders you want to hard code. Next, add arrFolders(n) = “Folder Name” for each folder you want to hard code (where n is a distinct number between 0 and x).
So what is all this good for anyway? Suppose you wanted to export applications in a few select folders, then import those applications in to a different farm. This Citrix article demonstrates how to use EXPORT and NEWAPP from the Citrix APSDK. Using EXPORT and NEWAPP along with GetAppsInFolders.wsf, you can export bulk applications from select specified folders and then import those applications into a different farm.