PowerShell: F is for Format Operator

PS> "{2} {0}" -f "there", "ignore", "hi" hi there   Operator Example Results Description {0} Display a particular element "{0} {1}" -f "a", "b" a b {0:x} Display a number in Hexadecimal "0x{0:x}" -f 181342 0x2c45e {0:X} Display a number in Hexadecimal uppercase "0x{0:X}" -f 181342 0x2C45E {0:dn} Display a decimal number left justified, padded with zeros "{0:d8}" -f 3 00000003 {0:p} Display a number as a percentage "{0:p}" -f .123 12.30 % {0:c} Display a number as currency "{0:c}" -f 12.34 $12.34 {0,n} Display with field width n, left aligned "|{0,5}|" -f "hi" | hi| {0,-n} Display with field […]

Read more

PowerShell Folder/Directory Creation

Script: $FldrName   = "NewFolder" $FldrParent = "C:Temp-New" $FldrPath   = $FldrParent + $FldrName [IO.Directory]::CreateDirectory($FldrPath)   Output: Mode                LastWriteTime     Length Name                                                                                                            —-                ————-     —— —-                                                                                                            d—-         11/9/2011  10:53 AM            NewFolder                                                                                                       Will create the whole path all along the specified folder location. It uses .net method Directory.CreateDirectory.   Script: $FldrName   = "NewFolder" $FldrParent = "C:Temp-New" $FldrPath   = $FldrParent + $FldrName $DirObj     = [IO.Directory]::CreateDirectory($FldrPath) Write-Host "LISTING ALL _PROPERTIES_ ACCESSIBLE VIA CreateDirectory OBJECT METHOD" ForEach ($attribute in ($DirObj | Get-Member -membertype properties | sort name )) {        $atrrib = $attribute.Name         "{0,-20}: {1}" -f $atrrib, $DirObj.$atrrib }   Output: LISTING ALL _PROPERTIES_ ACCESSIBLE VIA […]

Read more

Exception calling “SetInfo” with “0” argument(s): “The object already exists. (Exception from HRESULT: 0x80071392)” —> System.DirectoryServices.DirectoryServicesCOMException (0x80071392)

This error will be raised if the AD object already exists. Also, an error will be raised if any of the attribute values is blank (or otherwise invalid). You cannot assign a blank (or Null) value to any attribute. If a missing value is possible, you may need to revise the script to check for this and only assign a value if the value is non-missing. Of course, mandatory attributes, like cn an sAMAccountName, cannot be missing. Perhaps similar (in part) to below: If ($givenName -ne "") {$objUser.Put(“givenName”, $givenName)}

Read more