本文介紹在自定義PowerShell函數時,有一個$PSBoundParameters的變量可以獲取到輸入參數列表。獲取輸入參入列表對我們進行功能調試有很大的幫助。
當我們在執行一個函數時,可以使用輸入參數的值,但我在PowerShell中,參數有的是必選,有的是可選,那么我們怎么知道用戶真實的輸入了哪些參數呢?
在PowerShell函數中,有一個全局變量$PSBoundParameters,它是一個Hash表,里面保存了所有的輸入參數和輸入參數的值。通過輸出這個變量,我們就可以看到所有的輸入參數了。
function Get-Parameter {
param
(
$Name,
$LastName='Default',
$Age,
$Id
)
$PSBoundParameters
}
這個函數定義了四個參數,用戶可以隨意選擇參數進行輸入,那么,我們就使用$PSBoundParameters這個變量來獲取輸入參數列表。
執行的情況如下:
PS> Get-Parameter
PS> Get-Parameter -Name test -Id 12
Key Value
--- -----
Name test
Id 12
大家可以看到,同樣是調用這個函數,沒有輸入參數時,輸出結果為空。輸入了參數時,參數名和參數值被原樣輸出。
關于PowerShell函數獲取輸入參數列表($PSBoundParameters),本文就介紹這么多,希望對您有所幫助,謝謝!