Ilja Godau Releases Tool to Automatically Document your Citrix PS4 Environments

Being a Citrix consultant in Denmark working for TopNordic A/S, I not only design and implement Citrix Presentation Server solutions, but I often have to take a look at implementations done by other consultants. Many times I’ve wanted to pull out the complete documentation of an installation as seen in the Management Console for Presentation Server.

Being a Citrix consultant in Denmark working for TopNordic A/S, I not only design and implement Citrix Presentation Server solutions, but I often have to take a look at implementations done by other consultants. Many times I’ve wanted to pull out the complete documentation of an installation as seen in the Management Console for Presentation Server. As far as I know there no tool for this. Yes, scripts exist for a few options out there, but there’s no complete solution. Manually documenting all the published applications and connections policies is weary work, especially since Citrix is putting more and more stuff into these.

The Citrix PS4 Documentor (or “documenter” for you Americans) is my shot at such a tool that can hopefully avoid pages of screen dumps in the future.

Okay, so what do I do?

The Documentor is easy to use. Just make sure you have the 'Citrix PS4 Documentor.exe' and the 'mfcom.dll' file in the same directory on your PS4 server. (It is important to run it from a PS 4 server itself.) Run 'Citrix PS4 Documentor.exe' and sit back! The program will create HTML files for every section in the same folder that the 'Citrix PS4 Documentor.exe' is executed from.

When documenting your published applications, a folder called 'PS4DocumentorIcons' will be created in your %systemdrive% folder. This folder holds ICO files which are used by the 'Applications Settings.html' file. If you want to transfer this HTML file to another location, remember to also copy the 'PS4DocumentorIcons' folder if you want to have the icon image retained. You may have to edit the HTML file to reflect the correct location of the icon files.

Finally, yes, you have to be logged in with a full Citrix Administrator account. No rights means no documentation! The same goes for the section about the icon folder. No rights for creating a folder on the system-drive means no documenting your published applications.

And that’s about it.

Prerequisites

The Citrix PS4 Documentor needs the Microsoft .NET Framework to be installed. Version 1.1 is preferred.

As its name implies, the Citrix PS4 Documentor only works on Presentation Server 4 servers. Non-PS4 servers are allowed in your farm, but this is not what the software was designed for so it might not work exactly right.

What if I don’t like the layout of the HTML files?

Bummer... <SMILE>

Just open the HTML file, press CTRL-A, press CTRL-C, and paste it into your favorite text or HTML editing tool and change it.

Known Issues

This tool uses MFCOM to extract the information from the Citrix farm, although some settings cannot be accessed via MFCOM, including Resource Manager and Installation Manager settings.

Either due to bugs in the Citrix SDK or my lack of programming experience, some settings generate errors and cannot be documented. (See the readme file for details.)

A Note from Author

I am no great programmer and knocked this together with a simple software editor, so if you find any bugs then please report them to me at ilja@godau.dk.

I am not responsible if you use this program and lock up half your company’s machines or domain. You use this program at your own risk!

I have tested it here on my local domain with Windows Server 2003 and Citrix Presentation Server 4 Enterprise Edition with no problems and it should work on Windows 2000 Server and Citrix Presentation Server 4 Standard and Advanced Edition, but no guarantees are given. Also it does NOT write to the datastore—it just queries it through MFCOM.

Any feedback good or bad welcome to ilja@godau.dk or feel free to share your comments below.


Citrix_PS4_Documentor_1.3.zip

Join the conversation

31 comments

Send me notifications when other members comment.

Please create a username to comment.

I think it would be cool if we could make this thing generate it's output in an XML format. We could specify an XML document type for server farms. Then it would be easy to transform the content into a configuration database, HTML, text reports, etc, etc.

Of course since I'm not a programmer, I don't know how hard this would be. Actually it would probably be easier than making HTML. Do you want me to get started on an XML document spec?

Brian
Cancel
I started an open source project at http://sourceforge.net/projects/cmfie to dump the information to xml. I haven't had much time to play with it lately. Feel free to take a look at my xml definitions and stylesheets if you would like.
Cancel
this is another fine example of why I love this community.

is there any posibility of making it able to document older versions, it would save a hell of a lot of time in Migrations ;-))
Cancel
ORIGINAL: tstsh

this is another fine example of why I love this community.

is there any posibility of making it able to document older versions, it would save a hell of a lot of time in Migrations ;-))


Mark's utility up on SourceForge should work with earlier versions.
Cancel
I actually started doing this for PS3 and got part of the way, but never finished it completely...and then PS4 came out and I had to change focus.

I might still have som VB-scripts laying around somewhere for PS3. I will mail them to Brian for posting if I find them...

And you are not the first mentioning this for migration projects...so as time permits I will try out the program on PS3 and maybe even MFXP and see where it may fail and build some checks in...but no guarantees and time frame will be given out just yet.
Cancel
Nice idea...as I have mentioned I'm not a programmer and have actually not worked with XML-files, but how hard can it be? I guess it's not rocket-science.

Give it a shot and in the meantime I look into XML-files technology and Marks definitions.
Cancel
Hmmm...looks good. I guess I have to look into C# and XML soon <SMILE>.

And one tip for your program...it will fail if you have a server in your farm which is not online...ran into the same problem, so my test farm is with at least one server offline. Just for testing purposes and to catch the exception.
Cancel
Glad that there is a new tool out. I was actually following progress with the code at http://sourceforge.net/projects/cmfie. These application can be of significant help to admins + they are free.

For those that need old farm info my "iFarm" tool might help too. Although it was not updated since June 2004 it should be operational ;)

http://www.tekworkshop.com/welcome/modules.php?op=modload&name=News&file=article&sid=33

ALEX
Cancel
This is also a tool I had been working on for PS3 farms and gave up. My plan was to provide a disaster recovery tool. That is, firstly the tool scans the farm for all known objects and lays them out in XML format. And when the datastore goes ***-up... and perhaps a backup is not available. you run this tool and it rebuilds your farm for you.. bish bosh bash.

Cancel
I wish there was a tool like that that would've worked on MPS3.0.
Cancel
There is a third party add on called Harvester which allows you to save published app settings to an HTML file and you can then use this to build or re-build servers.

It also allows you to make farm wide changes.

www.centralis.co.uk/harvester

Hope this is useful!
Citrix Administrator in the UK
Cancel
Is the posted zip file the most current version??
Thank you,
Tom
Cancel
First off - thanks for the utility, it's great.  I installed some Windows Update and now it errors out during the "Applications" portion.  The other areas work with no problem.  Due to our company policy I can't uninstall any of the security updates but I was wondering if you had any ideas to re-enable this.  We are running Windows 2003 with no SP and PS 4.0.

The error dialog box says Microsoft .Net in the title and the following text:
An unhandled exception has occurred in your application.  If you click Continue, the application will ignore this error and attempt to continue.  If you click Quit, the applicatino will be shut down immediately.

There is a details button which gives a bunch of information but none of it makes sense to me, it's lengthy so I didn't want to post it unless someone thinks it would help.
Cancel
wow.. It really helped... thx to I Godau !
 
Prolböl
Cancel
ups.. my signature didn't work ...
 
Prolboell ...
Cancel
Are there known issues with .net 2.0?
Cancel
Hello... great Tool! Im also having trouble with that error message poping up... This happens when pushing the Policies button. Anybody have clue as to why this "crashes"????????
Cancel
ORIGINAL: Guest

Hello... great Tool! Im also having trouble with that error message poping up... This happens when pushing the Policies button. Anybody have clue as to why this "crashes"????????


Did you install the .NET Framework 2.0?  If so, that's probably why you're getting the error.

Shawn
Cancel
did anyone get to the bottom of the .net error mentioned above?
I'm seeing the same thing using .Net 1.1 and PS4 Documentor v1.3.
Cancel

Does someone have the source code?

Cancel
Do you have to run this on each citrix server in the farm or is there a specific server it needs to run from such as the data collector?
Cancel
Will it?
Cancel

I get this error when I try to document my published apps.  Anyone know what it means?

 

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.COMException (0x80010105): The server threw an exception.
   at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o, Type objType, String name, Object[] args, String[] paramnames, Boolean[] CopyBack)
   at PS4_Dokumentation.MainForm.Applications_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.2032
    CodeBase: file:///c:/winnt/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
Citrix PS4 Documentor
    Assembly Version: 1.3.2017.42009
    Win32 Version: 1.3.2017.42009
    CodeBase: file:///C:/citrixutil/Citrix%20PS4%20Documentor.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.2032
    CodeBase: file:///c:/winnt/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.2032
    CodeBase: file:///c:/winnt/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 7.0.5000.0
    Win32 Version: 7.10.6001.4
    CodeBase: file:///c:/winnt/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------
System.Drawing
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.2032
    CodeBase: file:///c:/winnt/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
mfcom
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.0.0
    CodeBase: file:///C:/citrixutil/mfcom.DLL
----------------------------------------
CustomMarshalers
    Assembly Version: 1.0.5000.0
    Win32 Version: 1.1.4322.573
    CodeBase: file:///c:/winnt/assembly/gac/custommarshalers/1.0.5000.0__b03f5f7f11d50a3a/custommarshalers.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) m

Cancel
I had the same issue, I found that there was a ghost server in the data store.  After downloading the latest dscheck and cleaning up the old server the program ran without issue.
Cancel
thx, ilja!!
Cancel

Just run it on the DS.


Cancel

I had some issues with the Framework security... once I fixed that, I ran it and was able to inventory all the apps in the entire farmThank you so much Ilja!!!


Cancel

How did u fix it? Running on the same framework security issue....and Im not a developer so ... *BLUSH*Any help is muchely appreciated!


Cancel

Having the same issue with the JIT error when trying to run the Applications module - anyone able to suggesta possible fix.W2K3 SP2 & MPS 4.5Many thanks.


Cancel

thanks, worked great!


Cancel

It's not working.. I am getting the same unhandled exception error.


is it not working becoz of .net framework 2.0 installed??? Please help?


Cancel

-ADS BY GOOGLE

SearchVirtualDesktop

SearchEnterpriseDesktop

SearchServerVirtualization

SearchVMware

Close