Change network connection category using PowerShell

Note: This blogpost is also posted on the peppercrew website.


I recently came across an issue with PSRemoting to a Windows 7 XenDesktop VM. I discovered remoting was disabled on the remote system because one of the network connections was a Public connection (it was the PVS connection). To change this using PowerShell is quite easy in Windows 8 or higher: the Set-NetConnectionProfile command is available to do just that. However, in Windows 7 this is not so easy. Even though PowerShell 4 was installed, the command was absent. So I decided to create my own functions to facilitate this, based on this script by Microsoft: LINK. This script utilizes the Network List Manager to make the change.  Continue reading

Posted in Powershell | Tagged , , , , , , , , , | 6 Comments

How to redirect Symantec Endpoint Protection client (v12.1.x) definition files

Symantec Endpoint Protection

The Story

I’m currently working in a Citrix XenDesktop environment with pooled, non-persistent desktops. Citrix PVS is used to stream a read-only vDisk to VM’s on a XenServer infrastructure. Since a non-persistent desktop loses all updates after a reboot the Symantec Endpoint Protection (SEP) clients’ virus definitions also resets to the moment you last updated the definition files in your image. This means that, each day since the last vDisk version, the client will have to re-download all definition files after every reboot.

The obvious solution to this unwanted behavior is to move the definition files to a location on the persistent disk attached to the VM. The problem is that the SEP client does not have a configuration option that will allow you to do that. So I decided to create my own redirection solution. Here’s how I did it: Continue reading

Posted in Citrix, Powershell | Tagged , , , , , , | Leave a comment

Copy AD group memberships from a source user to other users

Note: This blogpost is also posted on the peppercrew website.

This post is going to be short, but effective. One of those mondaine tasks you get to do as an IT administrator is assigning users to security groups for access to resources in the domain. Usually, when you ask the person making this request which security groups the user account needs membership for, they’ll tell you to use some other user account as a reference. Sometime you’ll even get a list of users that need to have the same memberships. Continue reading

Posted in Powershell | Tagged , , , | 2 Comments

Screensaver not working in a XenDesktop VDI environment

XenDesktop 7

Note: This blogpost is also posted on the PepperCrew website.

The Story

I was troubleshooting some RES Workspace Manager (RES WM) issues in a customer’s XenDesktop 7.x (Citrix) environment when I came across the following issue: The screensaver didn’t start automatically, even though I had forced a screensaver through RES WM. After some research I’d come to the conclusion that this was a known issue in XenDesktop 7.x. Apparently Citrix has decided to disable Screen savers and power-save options in XenDesktop. They provide the following solution in their eDocs documentation: Continue reading

Posted in Citrix, RES Workspace Manager | Tagged , , , , , | 14 Comments

Building a better Orchestrator Runbook testing tool


The Story

I recently started working on a project that required me to create a lot of System Center Orchestrator Runbooks. I quickly became frustrated with the Runbook Tester application because it would only run while a runbook is checked out, rendering the runbook useless for colleagues that needed it. Also the application would run under your current account instead of the orchestrator service account so I couldn’t trust it’s results (I know I can log in under that account but the point is: I really shouldn’t have to). I then switched to the Orchestrator Console to test the runbooks. This takes care of all of the issues above but was still frustrating to test with for the following reason: everytime I start a runbook I have to manualy enter all the parameters. The more input parameters your runbook has, the longer it takes to test it. And then if I test the runbook and it fails within ten seconds I have to start all over again! Say it with me, folks: frustrating!

After a few days of self-pity and blaming Microsoft for my sorrows I thought to myself: If you can’t get the proper tools for the product, build one yourself! So I went to my favorite Powershell tool: Sapien Powershell Studio. I used some Microsoft MSDN pages to create my own set of functions to utilize the orchestrator web service, only to find out after the fact that someone else had build a cool module for it (check out this codeplex site). Then I build a GUI around it. I think its my best work yet!

Continue reading

Posted in Powershell, Sapien Powershell Studio | Tagged , , , , , , , | Leave a comment