A PowerShell 3.0-ban jelent meg az az új lehetőség, hogy alaphelyzet szerinti paraméterértékeket adhatunk meg cmdletekhez, függvényekhez. Én például gyakran használom a Format-List-hez a -property * paramétert, vagy például a Receive-Job-hoz a -Keep kapcsolót. Ez tehát most már könnyen megadhatjuk, mint alaphelyzet szerinti működést. Ehhez a $PSDefaultParameterValues változót használhatjuk, melynek egy hashtábla elemeiként adhatjuk meg az egyes cmdletekhez, függvényekhez tartozó paramétereket és azok értékeit.
Az alábbi példában látható, hogy a Win32_Operatingsystem wmi osztály elemének nem látjuk az összes tulajdonságát Format-List-el:
PS C:\> Get-WmiObject -Class Win32_operatingsystem | fl
SystemDirectory : C:\Windows\system32
Organization :
BuildNumber : 7601
RegisteredUser : ST
SerialNumber : 55041-006-2455946-86366
Version : 6.1.7601
Ezzel szemben, ha megadom a Format-List Property paraméteréhez a „*” alaphelyzet szerinti értéket, akkor ugyanaz a kifejezés már minden tulajdonságot láttatni fog:
PS C:\> $PSDefaultParameterValues = @{"Format-List:Property" = "*"}
PS C:\> Get-WmiObject -Class Win32_operatingsystem | fl
PSComputerName : STLENO
Status : OK
Name : Microsoft Windows 7 Enterprise |C:
\Windows|\Device\Harddisk0\Partiti
on2
FreePhysicalMemory : 13689916
FreeSpaceInPagingFiles : 16691568
…
Látható, hogy a hashtábla elemeit a következő formában adhatjuk meg:
cmdlet-név:paraméternév = paraméterérték
Ráadásul dzsolidzsóker karaktereket, azaz például csillagot is használhatunk, ha akarunk, akár a cmdlet-névnél, akár a paraméternévnél és természetesen a paraméterértéknél is.