TEC 2010 – Advanced Training on Microsoft Active Directory and FIM

Today I registered for TEC 2010 which will be in Los Angeles this year. I have never attended TEC before but last year I was right down the road at TechED. I am still waiting to hear if I will be attending TechEd 2010 as well.

I am excited to see some focus around Active Directory and Forefront Identity Manager at a conference especially since Forefront Identity Manager was just released to manufacturing. One of my fears in attending this conference this year was that FIM would be released after TEC 2010 and covered in greater detail at TechED 2010, now with the release of FIM I hope that is not the case. I have already seen some vendors providing extensions to FIM so this may be the best year to go to TEC so far.

I definitely will be posting some more information and pictures during the event. Feel free to email me with any suggestions around the conference or questions you would like to be asked. ITNotes@gmail.com

~ITNotes

PowerShell – ProperCase Function

Change any case to Proper Case (‘ITNOTES DoT net’ to ‘Itnotes Dot Net’):
This is very useful for us during scripted user creations when the usernames and such from the source were in random cases. This script could also be useful with auto user provisioning with ILM/FIM 2010 from another datasource, we were using a VBScript that is much longer.

This script basically converts everything to lowercase then capitalizes the first letter of each word.

function ToProperCase ([String]$in)
{
 $in = $in.Tolower()
 $textInfo = [System.Threading.Thread]::CurrentThread.CurrentCulture.TextInfo  
 return $textInfo.ToTitleCase($in)
}

Example of use:
$Title = “ITNOTE DOT NET”
ToProperCase($Title)

Returns:
Itnotes Dot Net

Complete Script

function ToProperCase ([String]$in){
 $in = $in.Tolower()
 $textInfo = [System.Threading.Thread]::CurrentThread.CurrentCulture.TextInfo
 return $textInfo.ToTitleCase($in)
}
$Title = “ITNOTE DOT NET”
ToProperCase($Title)

As noted by Lee, here is a oneliner contributed by Jonathan Noble at http://www.jonoble.com/. Thanks Lee.

(Get-Culture).TextInfo.ToTitleCase(“THIS IS MY STRING”.ToLower())

I am always in favor of shorter scripts nevertheless I also favor functions, so here is a much shorter function:

function ToProperCase ([String]$in){
return (Get-Culture).TextInfo.ToTitleCase($in.ToLower())
}