Paraméterek elrejtése

A PowerShell 4.0-ben jelent meg egy új lehetőség, mellyel bizonyos paramétereket el tudunk rejteni az Intellisense és a TAB kiegészítés elől. Ezt a DontShow  paraméter attribútummal érhetjük el, mint ahogy az alábbi példában a $másik paraméternél láthatjuk:

function RejtettParaméter {

param(

    [Parameter(Mandatory = $true)] $egyik,

    [Parameter(DontShow = $true)] $másik = 1,

    [Parameter()] $harmadik

)

    $egyik + $másik + $harmadik

}

Ha ezután ezt a függvényt meg szeretnénk hívni, és az ISE-ben a függvény nevének beírása után megnyomjuk a kötőjel karaktert, akkor a lehetséges paraméternevek között csak az egyik és a harmadik jelenik meg, a második rejtve marad:

99 . ábra Paraméter elrejtése a DontShow attribútummal

Ugyanez történik TAB kiegészítésnél is. De természetesen ennek ellenére használhatjuk ezt a paramétert is:

PS C:\> RejtettParaméter -egyik 10 -másik 100 -harmadik 1

111

Az elrejtés tényleg csak az Intellisense-t és a TAB kiegészítést érinti, ha lekérdezzük a függvény paramétereit a Get-Command-al, akkor azért láthatóvá válnak a rejtett paraméterek is:

PS C:\> (Get-Command RejtettParaméter).Parameters

 

Key                 Value

---                 -----

egyik               System.Management.Automation.ParameterMetadata

másik               System.Management.Automation.ParameterMetadata

harmadik            System.Management.Automation.ParameterMetadata

ErrorAction         System.Management.Automation.ParameterMetadata

WarningAction       System.Management.Automation.ParameterMetadata

InformationAction   System.Management.Automation.ParameterMetadata

Verbose             System.Management.Automation.ParameterMetadata

Debug               System.Management.Automation.ParameterMetadata

ErrorVariable       System.Management.Automation.ParameterMetadata

WarningVariable     System.Management.Automation.ParameterMetadata

InformationVariable System.Management.Automation.ParameterMetadata

OutVariable         System.Management.Automation.ParameterMetadata

OutBuffer           System.Management.Automation.ParameterMetadata

PipelineVariable    System.Management.Automation.ParameterMetadata



Word To HTML Converter