PowerShell 中的不同參數

在這篇文章中,我們將學習什麼是參數函數、可以在參數中定義的不同類型的變量、不同類型的參數及其示例用法。
PowerShell 中的參數
像我們這樣的管理員可以使用參數 param()
函數為腳本和函數創建參數。參數腳本區塊包含一個或多個由變量表示的參數。
示例代碼:
param ($myVariable)
然而,為了確保所聲明的參數僅接受我們需要的類型的輸入,最佳實踐建議通過在變量之前用方括號 []
包圍數據類型來將數據類型分配給參數。
示例代碼:
param ([String]$myVariable)
命名參數
在腳本中使用參數的一種方法是通過命名參數。當通過命名參數調用函數或腳本時,我們使用變量名作為參數的全名。
示例代碼:
param ([String]$name)
然後,我們可以在執行 .ps1
文件時使用命名參數進行論證。
示例代碼:
powershell.exe .\sample.ps1 -name "John"
參數默認值
我們可以通過在腳本內給參數提前賦予一個默認值來為參數分配一個值。然後,在不向控制台傳遞值的情況下運行腳本將使用腳本內預定義的變量的默認值。
示例代碼:
param ([String]$name = "John")
開關參數
我們可以使用的另一個參數類型是由 [switch]
數據類型定義的開關參數。開關參數用於布爾值,以表示 true
或 false
。
示例代碼:
param ([switch]$isEnabled)
必填參數
通常,我們有一個或多個在執行腳本時必須使用的必填參數。因此,如果我們沒有為這些參數分配值,我們的腳本可能會失敗。
我們可以通過在參數數據類型區塊 [Parameter()]
內插入 Mandatory
數據類型使參數成為必填項。
示例代碼:
param (
[Parameter(Mandatory)]
[String] $servername
)
如果沒有值,PowerShell 將不允許腳本運行,並在執行時提示您輸入值。值得注意的是,沒有 [Parameter(Mandatory)]
區塊的參數被視為可選參數。
管道參數
大多數 PowerShell Cmdlet 允許您使用管道符號 (|
) 傳遞數據。我們可以在處理參數時利用這一 PowerShell 特性。
使用這種方法將為運行鏈式 PowerShell 文件開啟許多機會。
文件 - pipeline.ps1
:
param([parameter(ValueFromPipeline)]$pipedVar)
Write-Output $pipedVar
示例代碼:
"This string is from the pipeline." | .\pipeline.ps1
輸出:
This string is from the pipeline.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn