Alaphelyzet szerinti paraméterértékek definiálása

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.



Word To HTML Converter