NOTE: All current scripts require PowerShell Version 3 or later.
All current documentation scripts create a Microsoft Word 2010, 2013, or 2016/2019/O365 document.
Word 2016, Word 2019 and the Office 365 version of Word have the same version number of 16. All documentation scripts will work with Word 2019 and Word Office 365 with no changes.
*****All the scripts run best on PowerShell Version 5*****
Many people have asked me where they can get copies of the various PowerShell documentation scripts. To make it easier to find, I have linked to all of them in this one article.
All scripts have been moved to the new Downloads page.
I am leaving this landing page here so I don’t break all the existing links people have to this page.
Thanks
Webster
Hello Carl,
Can I be added to the testers group for 7.x powershell documentation scripts please?
Kind regards,
Morufudeen
Done
Webster
Hi.
I like Your script. Thanks for them.
I find , however, a mistake by the script associated with it should be done. It writes that it can not save to disk. I also see that my Word is still open even though the script is finished.
it comes with the following error :
WARNING: 01/05/2015 12:37:15: Unable to save to the output file, c:\Temp\Xenapp65.docx
c:\Temp\XA65_Inventory_42.ps1 : Unable to save the output file, c:\Temp\Xenapp65.docx
At line:1 char:1
I have Read/write accessto C:\Temp.
Is running on a Windows 8.1 mashine, so my Powershell is more than what Your requires.
Any idear what my problem cane be ?
What version of the script and what version of Word?
I have seen this error frequently with Word 2007 which is why I had to drop support for it.
I have also seen this error, with Word 2007, when the output file already exists and Word refuses to overwrite the file. If the output file already exists, delete it and try again. I have no control over Word’s SaveAs routine.
Webster
Hi Carl,
Can I added to the testers group for 7.x powershell documentation scripts.
Thank you
Dima
Done
Webster
Hi Carl,
Can I also get added to the XD 7.x group?
Best regards,
Billy
Done
Webster
Can I sign up to test the XenDesktop 7.x scripts too please? Thanks in advance!
Nick Prignano
Done
Webster
I have several XenDesktop/XenApp 7.x sites available and would be happy to review your test script for documentation of this environment.
Done
Webster
Hi Carl,
Can I added to the testers group for 7.x powershell documentation scripts.
Thank you
Regards,
Jan
Done
Webster
Could you please add me to the XD 5 and 7 script groups ?
Also please send me the test script.
Regards,
Mahendra
Done
Webster
I would really like to be added to your test group. I have XD/XA 7.x environments and would love to test
Thanks
Done
Webster
Please add me to the XD 5 and XD 7 test groups. Thanks.
Jason
Done
I’m also interested in trying out the XD 7.5 scripts.
Done
Please send me the 7.x scripts will be happy to test and provide feedback
Best regards,
Done
Could you add me to the XD 5 and 7 script groups?
Thanks
Rob
Done
Can I also get added to the XD 7.x group?
Done
Would love to get added to the group as well!
Done
Hi. Thankes for this script.
I have a problem with XA65_Inventory_V42. My Word is clousing after running the script. The script seems finish, but my Word is stille open in task manager.
I’m running this parameter. “XA65_Inventory_V42 -hardware -software -verbose -CN “Region Syddanmark” -CP “Visningsmaster” -UserName “Kim M. Gudiksen””
Is there anyone there can help ?
Thanks.
Kim
I have seen this happen if Word is opened after the script starts running and then Word is closed. I have just learned to never open or close Word once the script has started running.
Webster
Hello Carl,
First: many thanks for the great job you did and do for the community. I very appreciate that!
Second: can you please add me to the XD7 test group?
Thanks in advanced!
Kind regards
Done
Could I get added to the testers group for XD 5 as well as Xenapp/XenDesktop 7.5
Thank You!
Done
Couple of questions if you had any ideas of how to slice:
1) Have the DOCX file output to a specific location such as a UNC path
2) Specify a custom cover page (we have one with our logo and custom header/footer (Office 2010)
3)Specify the font/style
4) Change the table style to one of the built in Word 2010 ones
If I was able to do this I can set this off on a schedule and use the data parameter to just timestamp the file name and I wouldn’t have to touch anything. In any event this is one of the best documentation scripts I have ever seen regarding AD
1. This is an often asked for feature. I might be able to add it to the next update.
2. I spent 3 days trying to figure how to do this and never figured it out. I gave up.
3. That is coming.
Thanks
Webster
Hello Carl,
would you please send me xendesktop 5.X and 7.x powershell documentation scripts.
Thanks so much.
I can add you to the testers group if you like.
Webster
Yes please,thanks so much Carl.
Carl,
I would really like to be added to your test group. I have XD/XA 7.x environments and would love to test your documentation scripts.
Thanks in advance!
Done
Hi Carl,
Can I added to the testers group for XenDesktop 5.x and 7.x powershell documentation scripts.
Thank you
Regards,
Mark
Done
I’ve been working on as-built documentation for our existing netscalers. There was no docs when I arrived. My deadline is in 2 days. Your script link on this page isn’t working for me. in fact none of the script links I’ve tried so far on this page work.
I just tested all the links and they all work for me.
If they still do not work for you, send me an email and I will send you the scripts you need.
Webster
This AD Forest script is great! Not a great coder myself but going to look into customizing this a bit to have it use one of our custom templates and cover pages and possibly format some of the tables a little nicer. I will be sharing this link with the masses really helpful!
The tables will have a different format with Iain Brighton’s new table functions if I can ever find the time to update the script.
Webster
When there will be a 7.5 script available ?
The XenDesktop 7.x script is in development. I will add you to the testers group and send you the current scripts.
Webster
Thanks, I will test it
Carl,
Fantastic scripts and well done to all involved. I have just completed several XA 6.5 farm / WI / Netscaler upgrades and at the point of completing handover documentation for support. Your scripts have saved me COUNTLESS days if not weeks of trawling through powershell and copying and pasting settings…
Please add me to any update lists if there is any. 🙂
Thanks again, keep up the great work!
Andrew
Andrew,
All updates to the current released scripts are announced on my website. The XenDesktop 5.x and 7.x scripts are in development. Email me if you would like to be added to either or both testers group.
Thanks
Webster
Hi Carl,
Please send the 7.5 scripts will be happy to test and provide feedback
Best regards,
-Tim-
Done
Good script for Netscaler, tested from 10.5 and it worked.
Hi Carl:
Any chance I could get the XenDesktop 7.x scripts?
Regards,
torben
Sure. I will add you to the testers group for the XenDesktop 7.x script.
Thanks
Webster
Well since you gave me an invalid email address, looks like you will not be getting the XD7.x script.
Webster
How can I download the XenDesktop 7.x documentation scripts? They are not a part of the “AllCurrentScriptFiles.zip” file … If they are still in development can I get my hands on them to test?
Thanks,
Steve
The XD5.x and 7.X scripts are in development. I will add you to the XD7 testing group and send you the latest files.
Thanks
Webster
Can you add me to the tester group as well?
Done
Can you publish a package similar to the “Zip of all scripts” but with scripts that can be used with PoSH 2.0?
Thanks in advance!
I will consider doing so.
Thanks
Webster
Hi, I can’t figure out why you need Powershell version 3. We have Powershell 2.0 on most of our servers.
PowerShell V5 will be released soon. There are features that we are adding to the scripts that require at least PowerShell V3.
Webster
Thanks for these scripts Carl. They are amazing! Would be amazing not to need Word installed though.
We are working on adding -Text and -HTML options to all the scripts so Word is not required.
Thanks
Webster
Hi Carl – your dropbox download links are not working, would it be possible to get a copy of your XenApp 6.5 farm documentation script. Thanks.
Files have been sent.
Webster
This is an excellent script. Gives all details in brief. Looking towards excel format etc. Thank you Carl..
Chipps,
Which script did you use?
Thanks
Webster
Hello,
I am new to PowerShell and Xenapp. Was wondering if this script can be modified to print in Excel or CSV format? If so any idea?
Thanks,
Bojan
Not at this time BUT I have a team of really smart people helping me get to that point.
Webster
Hi Carl,
When downloading the signed DHP Inventory script (I’m using Windows 7 SP1 & IE 11) I am getting the following error:
“The Signature of DHCP_Inventory_Signed.ps1 is corrupt or invalid.”
The ASD Inventory script seems to be OK… don’t know about the others.
–Yogesh
I just tested it in my laptop lab and had no issues.
PS C:\webster> dir
Directory: C:\webster
Mode LastWriteTime Length Name
—- ————- —— —-
-a— 6/3/2014 9:15 PM 191655 dhcp_inventory_Signed.ps1
PS C:\webster> .\dhcp_inventory_Signed.ps1 -computername localhost -verbose -text
VERBOSE: 06/07/2014 18:50:35: Testing output parameters
VERBOSE: 06/07/2014 18:50:35: Text is set
VERBOSE: 06/07/2014 18:50:35: Testing to see if localhost is online and reachable
VERBOSE: 06/07/2014 18:50:39: DHCP Server localhost is online
VERBOSE: 06/07/2014 18:50:39: DHCP Server has been renamed from localhost to XD7LABDC
VERBOSE: 06/07/2014 18:50:39: Save As Text File
VERBOSE: 06/07/2014 18:50:39: Filename1 : C:\webster\localhost_DHCP_Inventory.txt
VERBOSE: 06/07/2014 18:50:39: Server Name : localhost
VERBOSE: 06/07/2014 18:50:39: Include Leases: False
VERBOSE: 06/07/2014 18:50:39: Add DateTime : False
VERBOSE: 06/07/2014 18:50:39: OS Detected : Microsoft Windows Server 2012 R2 Datacenter
VERBOSE: 06/07/2014 18:50:39: PSUICulture : en-US
VERBOSE: 06/07/2014 18:50:39: PSCulture : en-US
VERBOSE: 06/07/2014 18:50:39: PoSH version : 4.0
VERBOSE: 06/07/2014 18:50:39:
VERBOSE: 06/07/2014 18:50:39: Script start : 06/07/2014 18:50:35
VERBOSE: 06/07/2014 18:50:39:
VERBOSE: 06/07/2014 18:50:39:
VERBOSE: 06/07/2014 18:50:41: Script has completed
VERBOSE: 06/07/2014 18:50:41:
VERBOSE: Performing the operation “Output to File” on target “C:\webster\localhost_DHCP_Inventory.txt”.
VERBOSE: 06/07/2014 18:50:41: Script started: 06/07/2014 18:50:35
VERBOSE: 06/07/2014 18:50:41: Script ended: 06/07/2014 18:50:41
VERBOSE: 06/07/2014 18:50:41: Elapsed time: 0 days, 0 hours, 0 minutes, 5.906 seconds
PS C:\webster>
And I just spotted a bug. When the -ComputerName parameter is renamed from localhost to the actual server name, the output filename should be changed also.
Thanks
Webster
I am an admin on a child domain, when i RUN the script it query’s the entire Forest. Is there anyway to limit it to only a Child?
Thank you for your hard work on this set of scripts.
Steve
Steve,
Not at this time. The script is designed to document an entire forest.
Webster
Hi,
Can you publish a version support zh_TW language ?
or How can running script from remote ? I try some way,
but still not work!
Get-XAServer : Citrix commands must be executed at the Citrix server or using remoting. Make sure that your user accoun
t is a Citrix administrator and that the IMA service is started.
At C:\temp\XA65_Inventory_V41.ps1:3888 char:24
+ $Server = Get-XAServer <<<< -ServerName $RemoteXAServer -EA 0
+ CategoryInfo : InvalidOperation: (:) [Get-XAServer], InvalidOperationException
+ FullyQualifiedErrorId : ImaInteropError,Citrix.XenApp.Commands.GetServerCmdlet
The variable '$Server' cannot be retrieved because it has not been set.
At C:\temp\XA65_Inventory_V41.ps1:3889 char:12
+ If($Server <<<< .ElectionPreference -eq "WorkerMode")
+ CategoryInfo : InvalidOperation: (Server:Token) [], RuntimeException
+ FullyQualifiedErrorId : VariableIsUndefined
Thanks
The XenApp 6.5 script, with the exception of the Group Policy commands, supports remoting.
That is explained in the ReadMe file.
XenApp 6.5 V4.1 Script ReadMe File
Thanks
Webster
First, tank you for the scripts!
But I’m having some issues with the cover pages in Word 2013. By default the NetScaler script returns a error “NetScaler_V1_Signed.ps1 : Cover Pages are not installed or the Cover Page Terzijde does not exist. Script cannot continue.”
It should use “Motion” as specified in the get-help output.
Also I tested two coverpages wich should work (and it does partialy) but returns also an error.
C:\Scripts\NetScaler_V1_Signed.ps1 : For Word 2013, Grid is not a valid Cover P
age option. Script cannot continue.
At line:1 char:1
+ .\NetScaler_V1_Signed.ps1 -verbose -coverpage Grid
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,NetScaler_V1_Signed.ps1
and
Remove-Variable : Cannot find a variable with the name ‘word’.
At C:\Scripts\NetScaler_V1_Signed.ps1:807 char:2
+ Remove-Variable -Name word -Scope Global
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (word:String) [Remove-Variable],
ItemNotFoundException
+ FullyQualifiedErrorId : VariableNotFound,Microsoft.PowerShell.Commands.R
emoveVariableCommand
Is it possible to use a custom coverpage?
The NetScaler Gateway settings are also not documented, is this something that will be added later?
Yes, Barry will add that in a future release. In the mean time, I have added a list of current functionality to the Change Log, ReadMe file and the help text.
Thanks
Webster
“Remove-Variable : Cannot find a variable with the name ‘word’” is fixed in V1.0.1
Terzijde is a Dutch cover page for Sideline. What is your Windows language and what is your Word language?
Custom cover pages are not supported.
Thanks
Webster
The strange this is that Windows 8.1 and Office are the EN-US version.
The System Regional setting is NL.
I don’t understand your comment. Was there something else that is missing?
Webster
Hi,
will you update your script for XenDesktop 7.1/7.5?
I was thinking since you kept up to PVS 7.1 that you would also document the XenDesktop farm as well; that would be really nice to have 🙂
The script for XenDesktop 7.0 and 7.1 is in development. I have not tested it with 7.5 yet.
Webster
Hi Carl,
First off, huge thanks for getting this out for use. I am just getting in to our XenApp 6.5 build as I have taken it over with very little knowledge.
On running the latest and greats script you have a for a 6.5 farm build I get the following errors when it get to the work group area. Is this expected?
Thanks,
VERBOSE: 04/07/2014 17:09:55: Processing Worker Groups
VERBOSE: 04/07/2014 17:09:55: Setting summary variables
VERBOSE: 04/07/2014 17:09:55: Retrieving Worker Groups
VERBOSE: 04/07/2014 17:09:56: Processing Worker Group All Servers
VERBOSE: 04/07/2014 17:09:56: Processing Worker Group by OUs
VERBOSE: 04/07/2014 17:09:56: Create Word Table for Worker Group by OUs
VERBOSE: 04/07/2014 17:09:56: Max length of server name is 52
VERBOSE: 04/07/2014 17:09:57: Move table to the right
VERBOSE: 04/07/2014 17:09:57: Return focus back to document
VERBOSE: 04/07/2014 17:09:57: Move to the end of the current document
VERBOSE: 04/07/2014 17:09:57: Processing Worker Group Cr****
VERBOSE: 04/07/2014 17:09:58: Processing Worker Group by OUs
VERBOSE: 04/07/2014 17:09:58: Create Word Table for Worker Group by OUs
VERBOSE: 04/07/2014 17:09:58: Max length of server name is 63
Attempted to divide by zero.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3750 char:3
+ [int]$Rows = [Math]::Floor( ( $xArray.count + $Columns – 1 ) / $Columns)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Exception calling “Add” with “3” argument(s): “The number must be between 1 and 63.”
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3754 char:2
+ $Table = $doc.Tables.Add($TableRange, $Rows, $Columns)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
The property ‘Style’ cannot be found on this object. Verify that the property exists and can be set.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3755 char:2
+ $table.Style = $myHash.Word_TableGrid
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound
The property ‘Borders’ cannot be found on this object. Verify that the property exists.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3756 char:2
+ $table.Borders.InsideLineStyle = 1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict
The property ‘Borders’ cannot be found on this object. Verify that the property exists.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3757 char:2
+ $table.Borders.OutsideLineStyle = 1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict
VERBOSE: 04/07/2014 17:09:58: Move table to the right
The property ‘Rows’ cannot be found on this object. Verify that the property exists.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3770 char:2
+ $Table.Rows.SetLeftIndent(36,1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PropertyNotFoundException
+ FullyQualifiedErrorId : PropertyNotFoundStrict
You cannot call a method on a null-valued expression.
At C:\XAScripts\XA65_Inventory_V41_Signed.ps1:3771 char:2
+ $table.AutoFitBehavior(1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
VERBOSE: 04/07/2014 17:09:58: Return focus back to document
VERBOSE: 04/07/2014 17:09:58: Move to the end of the current document
VERBOSE: 04/07/2014 17:09:59: Processing published applications for Worker Group Cr****
Nope, that is totally unexpected. I sent you an email asking for additional info I am sure you don’t want in a public post.
Webster
Lee,
Thanks for finding this bug and working with me to get if fixed.
Webster
Hi Carl,
No Problem, thanks for getting it sorted.
Rgs,
I’m very new to powershell (in other words I know nothing) but I’m trying to either create or a powershell script that will give me the details of the installed versions of Xendesktop 5.6, the latest hotfix rollup pack, and the date it was installed.
Also I want to extract the same information about PVS servers and Web Interface
can this be achieved in powereshell? I cannot find any reference to powershell extracting this information from the servers…
There is no PowerShell for Web Interface.
I do not see an equivalent to XenApp’s Get-XAServerHotfix cmdlet for either XenDesktop (5 or 7) or PVS.
Webster
Hi Carl,
Will the XA6.5 SDK work for running your scripts against an XA6 farm? Or would I need both SDK packages to doocument an XA6 and an XA6.5 farm?
Thank you for sharing your hard work.
Regards
Hmmm, I am not sure as I have never tried it but I would think you would need both. Only one way to find out though. 🙂
Webster
I thought that would be the answer. Thanks. It just means I need to put some thought into this before I progress.
I’ve experimented with installing both SDK packages on my PC. If XASDK60 is installed first, XASDK65 overwrites the first installation. If XASDK65 is installed first, XASDK60 installation behaves like the SDK is already installed and does nothing.
If I need to use both SDK packages, it looks like I’ll need to run your scripts from two locations. You’ve noted that the v4.1 XA 6.5 script supports remoting, but the v4.1 XA 6.0 script isn’t similarily annotated. Does that mean I’ll have to be on one of the XA 6.0 farm servers to run the script?
Thanks
Only the PVS and XenApp 6.5 PowerShell cmdlets support remoting with the exception of the XenApp 6.5 Group Policy cmdlets. Citrix forgot about adding Remoting to the Group Policy cmdlets and they have no plans to go back and add it.
Webster
I should have added that the XenDesktop 5.x and 7.x cmdlets also support remoting.
Webster
Hey Carl,
Thanks for the scripts, this would help me a great deal as I have recently taken over a XenApp 6.5 farm with no idea of how its configured. I could go through every bit of the Citrix AppCenter and go through what is configured, published e.c.t though this would take me ages.
When I try to go to http://tinyurl.com/XenApp65PSSDK to download the Citrix Group Policy Commands I get sent to a “Welcome to the Citrix Community” page with various areas. I’ve clicked on the XenApp Powershell SDK link though I dont think this is where I would fine the Group Policy Commands. Is there any other way of downloading these?
Many thanks.
Funny, the link takes me right to it. Try the original URL:
https://www.citrix.com/downloads/xenapp/sdks/powershell-sdk.html
Thanks
Webster
Hi Carl,
Thanks for your scripts. Can you please advice if it is possible to install the SDK onto a test farm server and run the script across to another farm?
Reason is, the SDK install onto a production XA server means change control…..
Thanks,
Sam
If you are talking PVS or XenApp 6.5 I believe that should be doable. Both PVS and XenApp 6.5 support remoting (with the exception of the XenApp 6.x Group Policy module).
I have articles on my site that show how to do remoting with the scripts for both PVS and XenApp 6.5.
Thanks
Webster
Is there anything for XenApp 6.0? Thanks for your reply. I will investigate PVS for now.
Yes, all the scripts for XenApp 5, 6.0 and 6.5 and PVS are on the download page.
Webster
In Word2010 I can See the cover page sideline but I get the following error message
C:\Temp\XA65_Inventory_V4.ps1 : Cover Pages are not installed or the Cover Page Sideline does not exist. Script cannot
continue.
At line:1 char:24
+ .\XA65_Inventory_V4.ps1 <<<< -verbose
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,XA65_Inventory_V4.ps1
What could be the reason?
Thanks in Advance
Chris
I have sent you a test script to help with troubleshooting this issue.
Thanks
Webster
Hi Carl,
thank you very much for shareing.
I got the exact same error as chris, the only difference is that i’m trying to run the XA5 script.
have you any idea what causes this error?
Thanks in Advance
Morten Moss
i am working on a solution. have not found a fix yet.
webster
I have a test script for you to run to see if I have this fixed. For anyone else having this issue, send me an email (Webster@carlwebster.com) and I will send you the test script.
Thanks
Webster
Many thanks for sharing Carl. Awesome work!
Carl, any chance of a link which downloads all the files for all of the current scripts?
Thanks
Jim
Sure, that is a good idea. I will get to it soon.
Thanks
Webster
Hello Carl,
Just running V3 on XA6 and XA65 farms. Both reporting “WARNING: Load balancing policy information could not be retrieved”.
I’m also getting this in the powershell window:
Unable to find type [Microsoft.Office.Interop.Word.WdSaveFormat]: make sure
that the assembly containing this type is loaded.
At C:\temp\xa6\XA6_Inventory_V3.ps1:3378 char:2
+ $saveFormat =
[Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], “wdFo …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Offic…rd.WdSaveFo
rmat:TypeName) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
[ref] cannot be applied to a variable that does not exist.
At C:\temp\xa6\XA6_Inventory_V3.ps1:3379 char:2
+ $doc.SaveAs([REF]$filename, [ref]$SaveFormat)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (SaveFormat:VariablePath) [],
RuntimeException
+ FullyQualifiedErrorId : NonExistingVariableReference
Despite this it seems to have produced a nice looking Microsoft Word Doc though. A couple of observations here:
In the policies section for XA6 it is completely blank for XA65 is is populated but the user and computer settings are blank (only the unfiltered policies). I assume though that this just means the policies are using the defaults (which they are).
Thanks Carl for your efforts – It has given me enough information anyway but I thought you might like the feedback!
Andrew.
In the V4 scripts, currently under development, I am adding additional checking for items that do not have to exist. For example, applications, worker groups, load balancing policies and in XenApp 5 Citrix policies.
Are you running Word 2010 or 2013?
Thanks
Webster
Hi Carl,
tested to run the script with a farm of 50 HP blade servers running XenApp 6.5. Works fine until it starts the loop of documenting every server and it’s services. Been running for 2,5 hours on 3 servers. Why is it so slow, I looked through the code, and didn’t see any good reason for the slowness.. Any clues?
Seems to be hanging mostly on “format first row with column headings”…
Kind regards,
Kjell
Yes, I have seen this one other time. The XenApp servers were behind a firewall from the computer running the script and when it got to the servers section it couldn’t reach any server and say there timing out for getting XenApp info, info on the Citrix services and info on the Microsoft hotfixes.
Webster
Hi Carl,
the server which I was running the script on is in the same VLAN and subnet and is actually the management server for the farm. And the network guys are telling me there is no firewall at all between them…
Firewall is also turned off on the operating system. Strange this is.
Any other thoughts?
Kind regards,
Kjell
The only thing I would know to do would be to run the script in ISE and set a breakpoint for before the write-verbose statement you mentioned “format first row with column headings”. When the breakpoint is reached, then start stepping through the code to see where it is hanging.
Sorry
Webster
Great scripts, but the requirement to install MS Word is overkill.
Alan,
Someone was going to send me a way to create a Word doc without having to have Word installed but I never heard back from them.
Webster
Hey Carl,
Great Script! Did that person get back to you, regarding running your script without the need for MS Word to be installed?
Would like to know IF and HOW this is possible?
Thank you so much & Keep up the good work! 🙂
No, I have never received a response back about how to create a Word doc without having to have Word installed. Would also be nice for Excel.
Webster
Alan,
The XenApp 6, XenApp 6.5 and PVS scripts do not require Word to be installed on any server. For those scripts, they can be run remotely from a PC with Word installed.
Webster
Do you know why I am getting this error about unexpected cmdletbinding?
Sorry the link is here… http://i.imgur.com/qTfu0ec.jpg
The scripts require PowerShell V2 and will not work on V1.
Webster
First of all thanks for the scripts the XenApp 6.5 runs great!!!
The PVS I am having some issues this the error I am getting running script from PVS server and MS word is installed locally in the server
Missing file specification after redirection operator.
At C:\temp\pvs\PVS_Inventory_V2.ps1:1 char:63
+ <<<<
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : MissingFileSpecification
All my scripts require PowerShell V2 and do not work with either V1 or V3.
The line in question is in the help text. If you are running the latest V2.03 of the PVS script, you can safely delete the help text (the first 133 lines of the script).
Thanks
Webster
Great report! Can this be emailed using something like the below?
#Sends the output via email
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient(‘yoursmtpserveraddress’)
$msg.From = ‘senderemailaddress’
$msg.To.Add(‘youremailaddress@domain.com’)
$msg.Subject = “Test Script Output.”
$msg.Body = $output
$smtp.Send($msg)
I sent your question to my PowerShell guru friend, MBS. Here is his sanitized reply:
I recommend you send it as an attachment. Below is fully tested and working code, just update as appropriate for you.
For error-handling, I wrap the entire thing in a try-catch block since system.net.mail.smtpclient doesn’t give me a result on the Send() method but does provide an exception.
$date = get-date
$year = $date.year
$month = $date.Month
$day = $date.Day
$suffix = “{0,4}-{1,0:d2}-{2,0:D2}” -f $year, $month, $day
$var = new-object system.net.mail.smtpclient( “mail.yourdomain.com”, 25 )
$from = new-object system.net.mail.mailaddress( “addess@yourdomain.com” )
$to = new-object system.net.mail.mailaddress( “receiver@theirdomain.com” )
$cc = new-object system.net.mail.mailaddress( “CCreceiver@theirdomain.com” )
$msg = new-object system.net.mail.mailmessage( $from, $to )
$msg.Body = “See attached files for inventory report.”
$msg.Subject = “Inventory Report for ” + $suffix
$attach = new-object system.net.mail.attachment( “$pwd\XA65Farm.docx” )
$msg.Attachments.Add( $attach )
$msg.CC.Add( $cc )
$var.Send( $msg )
$attach1 = $null
$attach2 = $null
$msg = $null
$cc = $null
$to = $null
$from = $null
$var = $null
Hope this helps.
Webster
Hi,
We tested the Version 3.1 of the XenApp 6.5 Farm Documentation Scripts on our Citrix XenApp 6.5 but it dosn’t work.
We had those errors:
I think it’s probably due to the language of Microsft Office, it’s installed in French at our server and the variables like “Styles” don’t have the same names in French.
Can you publish a vesrion of the script for Microsoft Office in French.
Thank’s
support for non-english versions of Word is planned for the next version of all the scripts.
thanks
webster