List Active Directory sites and their associated subnets

If you ever need to look up which subnet is associated with which active directory site then just paste the below into vbs and pipe its output to a text file.

‘Get list of AD subnets
Set oRootDSE = GetObject(“LDAP://RootDSE”)
sConfigurationNC = oRootDSE.Get(“configurationNamingContext”)
Set oRootDSE = Nothing
sSubnetsContainer = “LDAP://cn=Subnets,cn=Sites” & “,” & sConfigurationNC
Set oSubnetsContainer = GetObject(sSubnetsContainer)
For Each sResult In oSubnetsContainer
aSNInfo = Split(sResult.cn, “/”)
If Instr(sResult.siteObject, “,”) = 0 Then
sSN = aSNInfo(0)
Else
sSN = aSNInfo(0) & “,” & _
Mid(Left(sResult.siteObject, Instr(sResult.siteObject, “,”) – 1), 4)
End if
wscript.echo ssn
Next

If you name the script listsites.vbs and want to output to a file call sitelist.csv and the script sites in a folder called “support” you can just run the following command line.

cscript c:\support\listsites.vbs > c:\support\sitelist.csv

Tags:

Deploying the Configuration Logging Database in XenApp 6

This blog post will walk you through deploying the configuration logging database in XenApp 6. I’ll be deploying the database on SQL 2008 SP1 running on Windows 2008 SP2 32 bit.

The first thing to do is create a standard domain account to own and connect to the SQL server database. I’ll call my account svcConfigLogging. The account should be set so that its password never expires.

 

Next, we create a blank database in SQL. I have called mine XAConfigLogging. You should follow best practice by pre-setting the database and log file sizes, holding them on separate disks, setting up backup plans etc.

 

We now add the service account created above (svcConfigLogging) to SQL as a logon. The default database for the logon is set to the database created above (XAConfigLogging).

 

Grant the user “db_owner” role access privileges.

 

As the database and security are created we can now use the Delivery Services Console to create the tables and objects in the database and the connection. To do this, right click the farm name and choose “Farm Properties”.

 

 

Select Configuration Logging and then click on the “Configure Database” button.

 

Enter the fully qualified domain name (FQDN) or IP address of the SQL server hosting the database created above (XAConfigLogging) and the credentials of the account created earlier which has db_owner rights to that database (svcConfigLogging).

 

Select the database created above (XAConfigLogging)

Change use Encryption to “No” (use of encryption requires the use of SSL certificates. As these are not in place a connection error will be generated).

 

Click on the “Test Database Connection” button

The connection should be successful (if it isn’t you will need to go back and check the settings entered).

Clicking on “Finish” will return you to the configuration screen.

The balance of the settings can now be configured. If you do not tick the “Log administrative tasks to Configuration Logging Database” then configuration logging does not take place.

Click on OK to complete configuration.

You can now make changes to the configuration of XenApp and they will be recorded to the database.

To view changes made to the configuration select the “History” node in the Delivery Services Console.

 

 

Clicking on the “Set Filter” link allows the SELECT statement to retrieve from the database to be constructed using the GUI.

Clicking on the “Get Log” link will retrieve the changes made within the constraints of the filter applied.

 

“Standard” administrators will have their changes logged to the database but will not be able to read from the database by default (i.e. will not be able to retrieve the log in history). To do this they need to be granted EXECUTE permissions against the stored procedures for the XAConfigLogging database.

 

The permissions required for administrators to the database are detailed at http://support.citrix.com/proddocs/topic/xenapp6-w2k8-admin/ps-maintain-define-db-perms.html. If security is not a concern then administrators can be granted db_owner rights to the database. Granting of rights is most easily achieved using domain groups.

Tags: ,

How to reset the admin password for Citrix Licensing Server

Sometimes the Citrix licensing server doesn’t get accessed for a long time, maybe the admin leaves and is replaced and no-one made a note of the password. Suddenly, you can’t access the licensing server any more. What to do ?

If you have access to the disk sub system (ie.. the files) on the licensing server then it is possible to reset the admin password.

1. Open the “server.xml” file in C:\Program Files\Citrix\Licensing\LS\conf. If on Win2k8 you will need to open your editor as an admin. (Take a copy of the file first – if anything goes wrong you can simply copy the file back to restore the original settings).

2. Find the entry that looks something like this:

<user firstName=”System” id=”admin” lastName=”Administrator” password=”(ENC-01)LKJ338u98uxkllS(*U+ljljlja-$78923ghJgs” passwordExpired=”false” privileges=”admin”/>;

3. Erase the contents between the double quotes after “password=”

4. Enter a plain text password , for example password=”TemporaryPassword”

5. Change the passwordExpired value to be “true” and save the server.xml file.

6. Restart the licensing services or, at a push, reboot the server.

7. Log into the licensing console using user name “admin” and the password set above.

8. You will be prompted to change your password. The new password will be encrypted in the server.xml file.

Tags:

Installing applications to XenApp that require a reboot

When you install applications to XenApp you place the server into “install” mode (using change user /install) to start recording per user registry key changes to the shadow key (HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software).

Occasionally the software installation requires a reboot part way through before continuing the installation. However, when you reboot the server is placed back into execute mode and changes are no longer recorded. But, you can’t place the server back into install mode before the installation continues.

What to do ?

One way the server knows how to continue the software installation after a reboot is to write the string to the RunOnce key at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce. So, you can simply delete the appropriate part of this key, reboot the server, place it back into install mode and then manually run the command that was originally written to this key.

In this way you can still capture the changes made.

Other keys to check (just in case the installer utilises these keys) are:

HKLM\Software\Microsoft\Windows\CurrentVersion\Run(Once)

HKCU\Software\Microsoft\Windows\CurrentVersion\Run(Once)

Tags:

Connecting to the registry with PowerPoint

To connect to the registry, we can list our possible choices using get-psdrive. The output will be similar to the below:

Name Used (GB) Free (GB) Provider Root
—- ——— ——— ——– —-
Alias Alias
C 240.39 57.60 FileSystem C:\
cert Certificate \
D 5.81 FileSystem D:\
E 3.64 FileSystem E:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
WSMan WSMan

To mount the registry as a drive enter the command set-location: for example

set-location HKCU:

Note the colon at the end of the command.

You can then list the various items by using ls or Get-ChildItem. Setting the drive to the environment (Set-Location Env:) and then using Get-ChildItem lists all of the environment settings for the system

Tags:

Setting up your PowerShell Environment

Want to have your powershell environment the way you want it each time you start PowerShell ?

Find the location of your default profile by typing profile$ at a PowerShell prompt. That will show you where your default profile script is held. For example:

C:\Users\philipflint\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Any statements that you add to this script will automatically be run each time you start PowerShell.

In this way you can call any plug ins or other scripts that you want.

Tags:

Getting Environment Variables with Powershell

Need to know the value of an environment variable on your computer such as the temp path ? Nothing could be easier.

$env:temp

OR

$env:tmp

Wnat to know who you are logged on as ?

$env:username

Want to know what the “path” is ?

$env:path

So, the trick is to enter $env: followed by the environment variable you want the value of. Want to know what environment variables you can use ?

Just access the advanced tab of computer properties and click on the “Environment Vaiables” button

Tags:

Senna the movie

Well, just been to see the film and here’s what I think

A) the racing footage is amazing, very low level and gives you a real sense of the excitement and challenge of getting round the track at high speed, far more so that you get on TV

B) even though I’ve said the above, what the long duration drivers eye view shots show is how slow the cars seem to go ….. Again, maybe something to do with the angle

C) Alain Prost is definitely NOT portrayed as the villain of the piece. You can tell by the way he looks at Senna and talks to him that he really likes him but as senior driver is exasperated at times. Yes, he was upset by a y Kung whippersnapper coming in, going fasternand beating him when he was not only lead driver in the team but also World Champion but thats only to be expected

D) both Senna and Prost did things to win their world championships that they would be less than proud of later on …. But this just shows the will to win at the very top in any sport

E) the scenes of the 3 crashes at Imola are very moving. It’s obvious from the film that Ratzenberger was dead at the time so the footage is quite shocking. To see Senna walking and talking knowing that he only has hours to live is quite distressing, especially when you see him on the grid with only minutes left …… You hope that the ending will change but know it won’t.

All of that said the one thing that everyone should understand is that Ayrtons charity has educated more than 12 million children, far more of an achievement than anything he ever managed in racing. A lasting legacy of which anyone would be justifiably proud.

Also, this movie has reinvented the BioPic using footage of t he person themselves to tell the story. Yes, it’s a documentary but it is also the story of a mans life who managed to achieve everything he set out to do and left the world a better place.

Is it a great movie ? I think it’s one of the best films you will see this year whether you are an F1 fan or not. A simple story honestly and fairly told.

Estimates of Bandwidth Required by XenDesktop

Parameter (medium workloads)

XenDesktop Bandwidth

XenDesktop with Branch Repeater

Office

43 kbps  

31 kbps  

Internet

85 kbps  

38 kbps  

Printing

553-593 kbps  

155-180 kbps  

Flash Video

174 kbps  

128 kbps  

Standard WMV Video

464 kbps  

148 kbps  

High Definition WMV Video

1812 kbps  

206 kbps  

Idle

Minimal  

Minimal  

Ports used by NetScaler

Port

Type

Use

Secure

22/TCP

HTTP

SSH

Secure

80/TCP

HTTP

GUI web front-end, XML-API

Non-secure

161/UDP

HTTP

SNMP request/response traffic (polling)

Non-secure

162/UDP

HTTP

SNMP traps

Non-secure

443/TCP

HTTPS

GUI web front end, XML-API

Secure

3003/UDP

HTTP

High availability heartbeat

Non-secure

3008/TCP

HTTPS

GUI Java applet, high availability communication

Secure

3009/TCP

HTTPS

High availability communication, GSLB MEP communication

Secure

3010/TCP

HTTP

GUI Java applet, high availability communication

Non-secure

3011/TCP

HTTP

High availability communication, GSLB MEP communication

Non-secure