Creating a Citrix Farm inventory report without snap-ins

There are a few excellent scripts out there which can create an inventory report of your Citrix Farm. However, these scripts usually make use of the Citrix PowerShell snap-ins. Most of the data in Citrix Virtual Apps and Desktops (formerly known as XenApp and XenDesktop) is available through the Monitoring Service which is available on the Citrix Delivery Controllers. By using OData queries, most data can be retrieved without using any snap-ins or modules. I did some investigation and created a script which does exactly this.

I’m looking for any input and feedback on this script. So if you have any feedback or run into any problems, feel free to leave a comment or send me an email.

To download the PowerShell script I created, press the “Download Now” button:


Read More

Credentials not saved in Internet Explorer

Last week I ran into a problem where credentials were not being saved in Internet Explorer. When users enter a username and password, Internet Explorer asks to save the credentials.

Users press the “Yes” button, however when you check the Credential Vault, the Web Credentials remain empty.

Read More

PowerShell security issue with file access

I ran into strange behavior of PowerShell, which I consider being a security issue. I don’t know if this is expected behavior built in by Microsoft, but by using this “bug”, you can check the contents of a folder to which you don’t have access permissions. When using the Test-Path cmdlet, the command behaves a bit different than expected.

If Test-Path is used on a file which is in a folder where you don’t have access permissions to (eg. NTFS permissions are set), the command returns $false, but also throws an UnauthorizedAccessException (access denied). However, when the file actually doesn’t exist, the command will only return $false. By catching the error, you know if the file exists or not. By using a brute-force method, you can enumerate the entire contents of the directory. This way it’s possible to find out what kind of applications are installed on a machine, and possibly exploiting weakness in these applications. Read More

Configuring Windows Server 2012 Core: PowerShell

As mentioned in my previous post about configuring Windows Server 2012 Core, you have multiple options. One is sconfig, but the preferred method is using PowerShell. PowerShell is a really powerful scripting language and Microsoft is pushing the use in all of their products.

In this post, I will describe how to configure your Windows Server 2012 Core installation using PowerShell. I will describe how to change your computername, set the IP address and join your server to the domain.

Read More

Configuring Windows Server 2012 Core: SConfig

With the release of Windows 2008, Microsoft introduced the Core installation. This is a stripped down version of the Windows Operating System, without any GUI (less space, smaller attack surface). Microsoft continues this option with Server 2012 and recommends to install the core version. When you install Windows Server 2012, the core installation is even selected by default. Configuring Windows Server 2012 Core is a bit harder without the GUI, so I’m writing two articles about configuring Windows Server 2012 Core.

For the configuration, you have two options: using SConfig or using PowerShell. Microsoft is pushing the use of PowerShell harder and harder, so PowerShell would be the preferred way to configure Windows Server 2012. I will get to PowerShell in the next article, in this article I will focus on using SConfig.

Read More