A PowerShell cmdletjeinek átadhatunk paramétereket, mint ahogy azt többször láthattuk a megelőző példákban. Nézzünk például egy cmdlet paraméterezését:
[17] PS C:\> get-help write-host -Parameter *
-BackgroundColor <ConsoleColor>
Specifies the background color. There is no default.
Required? false
Position? named
Default value None
Accept pipeline input? false
Accept wildcard characters? false
-ForegroundColor <ConsoleColor>
Specifies the text color. There is no default.
Required? false
Position? named
Default value None
Accept pipeline input? false
Accept wildcard characters? false
-NoNewline [<SwitchParameter>]
Specifies that the content displayed in the console does not end
with a newline character.
Required? false
Position? named
Default value None
Accept pipeline input? false
Accept wildcard characters? false
-Object <Object>
Objects to display in the console.
Required? false
Position? 1
Default value None
Accept pipeline input? true (ByValue)
Accept wildcard characters? false
-Separator <Object>
String to the output between objects displayed on the console.
Required? false
Position? named
Default value None
Accept pipeline input? false
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".
A fenti példában a Write-Host cmdlet súgójának csak a paraméterekkel kapcsolatos részét írattam ki. A paraméterek nevét kiírhatjuk, ha egyértelművé akarjuk tenni, hogy az adott értéket melyik paraméternek szánjuk. A paraméterek nevét egy ’-’ (kötőjellel) kell bevezetni. Vannak olyan paraméterek, amelyek „pozícionális” paraméterek, azaz nem muszáj kiírni a nevüket, elég rögtön a paraméter értékét beírni:
32 . ábra Cmdlet paraméterezése
A fenti példában az „Ezt akarom kiírni” szöveg a súgó alapján az Object paraméter lesz, mert ennél van 1-es a Position? kérdés mellett. Az egyes színek átadását kiírt paraméternevek mögött adtam meg, mert azok nem pozícionálisak.
Nézzük, milyen változatai vannak a paraméterezésnek:
33 . ábra Másik paraméter-megadási lehetőség
Látható, hogy akár ki is írhatjuk a pozícionális paraméterek nevét, ráadásul elég csak annyi karaktert megadni, ami már egyértelműen azonosítja a paramétert. Az Object paraméterhez nem elég egy darab ’o’ betűt megadni, mert a „CommonParameters” között van OutBuffer és OutVariable is. Az ’Ob’ sem elég, mert – bár nem mutatja a help – az OutBuffer paraméternek az Ob egy álneve, szinonimája.
Ezzel szemben a színeknél az ’f’ és ’b’ egyértelműen azonosítja, hogy a foregroundcolor és backgroundcolor paraméterre gondolunk.