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.
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" $Title = 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" $Title = ToProperCase($Title) |
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:
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
If IsLaptop( "." ) Then WScript.Echo "Laptop Else WScript.Echo "Desktop or server End If |
Shell out a command line with switches:
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
RunSwch "C:\Program Files\ApplicationX\Start.exe","/S /X /Log C:\log.log" |
Shell out a command line without switches:
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
Run "C:\Program Files\ApplicationX\Start.exe" |
