PowerShell函數(shù)中把參數(shù)傳入另一個(gè)函數(shù)的函數(shù)傳參例子
本文介紹在自定義PowerShell函數(shù)時(shí),可以使用@PSBoundParameters來(lái)將參數(shù)傳遞給另一函數(shù)。
下面,我們來(lái)創(chuàng)建一個(gè)Get-BIOS的函數(shù),
function Get-BIOS
{
param
(
$ComputerName,
$Path
)
Get-WmiObject -Class Win32_BIOS @PSBoundParameters
}
在這個(gè)函數(shù)中,我們并沒(méi)有作任何實(shí)際的操作,只是將輸入的參數(shù)打包傳給了Get-WmiObject這個(gè)函數(shù)。注意,我們之前在輸出PSBoundParameters變量的值時(shí),我們是在它的前面加了一個(gè)美元符號(hào)($),即$PSBoundParameters,表示一個(gè)變量。而這里我們將參數(shù)和參數(shù)值傳給另外一個(gè)函數(shù)時(shí),我們?cè)赑SBoundParameters之前加的是一個(gè)@符號(hào)。這是重要的一點(diǎn)區(qū)別!
另外,我們還可以在將參數(shù)傳遞到另一個(gè)函數(shù)之前,對(duì)接收到的參數(shù)作一定的處理,比如去掉其它一個(gè)參數(shù)。
function Get-BIOS
{
param
(
$SomethingElse,
$ComputerName,
$Path
)
$null = $PSBoundParameters.Remove('SomethingElse')
“The parameter $SomethingElse still exists but will not get splatted”
Get-WmiObject -Class Win32_BIOS @PSBoundParameters
}
看到了嗎,我們?cè)谏厦姘裇omethingElse這個(gè)參數(shù)從$PSBoundParameters中刪除掉了。這樣,傳遞到Get-WmiObject函數(shù)的參數(shù)中,就沒(méi)有這個(gè)參數(shù)了。
關(guān)于PowerShell函數(shù)將參數(shù)傳遞給另一函數(shù),本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
PowerShell中使用Get-Date獲取日期時(shí)間并格式化輸出的例子
這篇文章主要介紹了PowerShell中使用Get-Date獲取日期時(shí)間并格式化輸出的例子,本文講解了直接調(diào)用Get-Date、在Write-Host中使用Get-Date、格式化輸出的方法,需要的朋友可以參考下2014-08-08Windows Powershell 通過(guò)函數(shù)擴(kuò)展別名
這篇文章主要介紹了Windows Powershell 通過(guò)函數(shù)擴(kuò)展別名,需要的朋友可以參考下2014-09-09Powershell小技巧之系統(tǒng)運(yùn)行時(shí)間
本文主要教你如何使用powershell計(jì)算系統(tǒng)運(yùn)行時(shí)間,其實(shí)很簡(jiǎn)單,因?yàn)閃indows每次啟動(dòng)都有一個(gè)高進(jìn)度計(jì)數(shù)器并且當(dāng)系統(tǒng)運(yùn)行這個(gè)計(jì)數(shù)器將返回一個(gè)毫秒,我們把這個(gè)毫秒計(jì)算下就得到系統(tǒng)運(yùn)行時(shí)間了2014-09-09Windows Powershell調(diào)用靜態(tài)方法
Powershell將信息存儲(chǔ)在對(duì)象中,每個(gè)對(duì)象都會(huì)有一個(gè)具體的類型,簡(jiǎn)單的文本會(huì)以System.String類型存儲(chǔ),日期會(huì)以System.DateTime類型存儲(chǔ)。任何.NET對(duì)象都可以通過(guò)GetType()方法返回它的類型,該類型中有一個(gè)FullName屬性,可以查看類型的完整名稱。2014-09-09PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置
這篇文章主要介紹了PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置,本文直接給出了實(shí)現(xiàn)方法和使用命令及輸出結(jié)果,需要的朋友可以參考下2015-03-03Powershell實(shí)現(xiàn)捕獲系統(tǒng)內(nèi)置EXE程序的異常
這篇文章主要介紹了Powershell實(shí)現(xiàn)捕獲系統(tǒng)內(nèi)置EXE程序的異常,系統(tǒng)內(nèi)置的EXE程序是指如robocopy.exe、ipconfig.exe等命令的實(shí)現(xiàn)程序,需要的朋友可以參考下2014-12-12PowerShell中使用Filter來(lái)創(chuàng)建管道輸入函數(shù)
這篇文章主要介紹了PowerShell中使用Filter來(lái)創(chuàng)建管道輸入函數(shù),Filter創(chuàng)建的函數(shù)跟Function創(chuàng)建的函數(shù),在本質(zhì)上是一樣的,需要的朋友可以參考下2014-07-07