Posts

Citrix Service Provider (CSP) Portal and Citrix Licensing

One of our partners is using the CSP program from Citrix for their customers. Now, every month a CSP usage report must be made manually for all the customers and reported to Citrix.

With the Citrix Cloud Licensing Portal, that step is simplified. There are however a few guidelines for the Citrix Licensing servers that are hosted at the customer(s):

  • Naming convention

It is common to have a default name for a licensing server at the customers, for example “LIC01”. So if this name is used for all the customers, there is no way to differentiate in the new Licensing Portal.
So when you create the license, choose the FQDN of the license server as Hostname.

  • Minimum License Server version

Next is the version of the license server. This has to be Citrix Licensing 11.13.1 Build 16002
In this build the “Call Home” capabilities have been extended to detect CSP–licenses and report product usage to Citrix. This version is part of the Long Term Service Release (LTSR) version (XenApp 7.6)

  • Licensing Model

Now the confusing part. As part of the CSP Program, XenApp is required to be configured to use a usage-based licensing model. Therefore you cannot use concurrent licenses as part of the CSP program. But in the Licensing Model in Citrix Studio it is not possible to choose the User/Device Licensing option if you use XenApp as Edition. So you have to switch to XenDesktop and choose the edition that fits the need.

  • License Types

There are two types of licenses in the CSP Model, those are Premium and Base:

  • CSP Premium SKU – You can utilize XenApp Platinum components
  • CSP Base SKU – You are limited to utilizing XenApp Advanced components

In our case, the customers use “Base Licenses“ which means XenApp Advanced. The licenses that are created from the portal and based on the SKU’s already contain the XenDesktop license.

Next step is to change the Licensing Model matching license.
But wait, that is not possible from the GUI!

Powershell to the rescue!

  • Open a powershell window with the appropriate privilege and load the Citrix Snappin. Note that the Powershell SDK must be installed.
  • Here is the code:
    • Add-PSSnapinn Citrix*
    • Set-ConfigSite –ProductCode XDT –ProductEdition ADV –LicensingModel UserDevice

After these three steps the Citrix Licensing Server is reporting the correct usage to the new Cloud Portal and in an orderly fashion.

SCCM set a custom variable dependency using Powershell or Vbs

When you are a frequent user of SCCM, sooner or later you will want a custom variable on which u can set a dependency for jobs further on in the task sequence.

After searching online for a while and not finding a satisfying answer I decided to create a short how-to.

Read more

RES One Automation PowerShell Module

Note: This blogpost is also posted on my personal blog: itmicah.wordpress.com.

resam-posh

When you’re a system administrator and a PowerShell enthusiast a single solution to a problem can result in something big and elaborate. A while ago I was implementing a MDT environment for a customer. I wanted to fill the MDT database with all existing client computers. For that I needed all the clients names and their MAC addresses. Client names weren’t the issue but MAC addresses were a little bit more challenging. I decided to turn to RES One Automation (RES AM) for help. I knew RES AM has the ability to identify agents by their MAC address so it has to store all agent MAC addresses in the datastore. After figuring out how to pry this information from the database I started to wonder what else I could find in there. This resulted in a complete PowerShell module (my first!) for RES One Automation!  Read more

Configure WER User-Mode (Application) crash dumps PowerShell-style

Note: This blogpost is also posted on my personal blog: itmicah.wordpress.com.

When you’re a system administrator you’re likely to encounter a few application crashes during your career. In order to troubleshoot these crashes Windows Error Reporting (WER) comes in handy. It can be configured so that full user-mode dumps are collected and stored locally after a user-mode application crashes. You can than send the dumps to the software supplier or analyse it yourself using your tool of choice. Read more

Copy AD group memberships from a source user to other users

Note: This blogpost is also posted on my personal blog: itmicah.wordpress.com

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. Read more

Change network connection category using PowerShell

Note: This blogpost is also posted on my personal blog: itmicah.wordpress.com

 

refwin-advfirewall-img4

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.  Read more

PowerShell: HP OneView Appliance backup script

When you’re using HP OneView to manage your HP hardware (virtual connect etc.) you can manually create a backup by using the web interface.
Because its a manual proces, it would be an to intensive process to do that on daily or weekly base.

That’s why i created this HP OneView Appliance backup script that uses the Rest API to create a backup and then download it from the appliance.
The script also can archive older backups, to keep everything nice and clean ;).

Please email me when you have any question or suggestion.

Save the script as Oneview-backup.ps1 and run it once (per host and per user) to provide the password which will be saved encrypted.

Read more

Powershell: Backup Lync 2013 configuration

One of the most important things to do when using Lync 2013 is to backup the Lync 2013 topology and configuration.
With these backup files and your ssl certificates you can restore your basic Lync environment (without the data).

With this powershell script you can easily backup these configuration files and as a bonus you can also backup the persistent chat database.

You have to run the script on a machine with the Lync cmdlets (Administrative Tools).

Read more

Powershell: Enable multiple Lync 2013 users

When you have a large Lync 2013 environment with several OU’s, you want to “Lync enable” users automatically, and maybe you require a specific user policy for those users. (As you can see i used a VDI policy in my example) With this powershell script you can add as many OU’s as you like as long as you separate them with a comma. Users to enable within a specific OU are selected by: AD account is not disabled, AD account has an e-mail address, AD account is not Lync enabled yet. When you fill out the configuration lines at the begin, your ready to go. You have to run the script on a machine with the Lync cmdlets (Administrative Tools). I’ve tested the script for Lync 2013 implementations.

Read more

Starting PowerShell as default within Windows Core

LD0001467786_1 My lab environment runs on Windows 2012 R2 Core, with Hyper-V installed. It runs smoothly. When I need to manage the environment I can do the most common task right there on the prompt.

But with Microsoft pushing everyone to use PowerShell I don’t understand why Windows Core start with a normal prompt instead of a PowerShell prompt.

In this article I will describe how you can change the prompt that is launched when Windows Core boots from CMD to PowerShell.

Read more