Functions and Subs

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 from another datasource, we currently us a VBScript that is much longer.

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

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

Example of use

?View Code POWERSHELL
$Title = "ITNOTE DOT NET"
$Title = ToProperCase($Title)

Returns:

Itnotes Dot Net

Complete Script

?View Code POWERSHELL
function ToProperCase ([String]$in)
{
 $in = $in.Tolower()
 $textInfo = [System.Threading.Thread]::CurrentThread.CurrentCulture.TextInfo  
 return $textInfo.ToTitleCase($in)
$Title = "ITNOTE DOT NET"
$Title = ToProperCase($Title)

Tags: , ,

Monday, March 1st, 2010 Identity Management, Powershell No Comments

Re-Usable VBScript Functions – Part I

In this Multi-Part Series I will post lists on VBScript Functions and Subs that I have either found or written. I am a big fan of turning any useful code into a functions and adding it to my default VBScript Template, it saves a ton of time on the next scripting task. By no means am I claiming I wrote all of  these, most were just re-purposed into reusable functions. I hope you find these useful. In the later part of the series I will include my template I use to begin all my scripts.

Determine if the computer is a laptop:

?View Code VBSCRIPT
Function IsLaptop(strComputer)
    On Error Resume Next
    Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
    Set colItems = objWMIService.ExecQuery( "Select * from Win32_Battery", , 48 )
    IsLaptop = False
    For Each objItem in colItems
        IsLaptop = True
    Next
    If Err Then Err.Clear
    On Error GoTo 0
End Function

Example of use

?View Code VBSCRIPT
If IsLaptop( "." ) Then
    WScript.Echo "Laptop
Else
    WScript.Echo "Desktop or server
End If


Shell out a command line with switches:

?View Code VBSCRIPT
Sub RunSwch(ByVal strRunCmd, strRunSwitch)
Dim objWshShell
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.Run Chr(34) & strRunCmd & Chr(34)& " " & strRunSwitch, 1, True
    Set objWshShell = Nothing
End Sub

Example of use

?View Code VBSCRIPT
RunSwch "C:\Program Files\ApplicationX\Start.exe","/S /X /Log C:\log.log"


Shell out a command line without switches:

?View Code VBSCRIPT
Sub Run(ByVal strRunCmd)
Dim objWshShell
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.Run Chr(34) & strRunCmd & Chr(34), 1, True
    Set objWshShell = Nothing
End Sub

Example of use

?View Code VBSCRIPT
Run "C:\Program Files\ApplicationX\Start.exe"

Tags: , ,

Thursday, October 15th, 2009 VBScript No Comments