主頁 > 知識庫 > Powershell互斥參數(shù)使用實例

Powershell互斥參數(shù)使用實例

熱門標簽:雷霆電話機器人電話 真人和電話機器人對話 使用電話機器人電銷是否違法 什么渠道可以找外呼系統(tǒng)客戶 湖州電銷防封卡 安徽400電話辦理 電話智能外呼系統(tǒng)誠信合作 信陽話務(wù)外呼系統(tǒng)怎么收費 金融電銷公司怎么辦理外呼系統(tǒng)

有時Powershell的函數(shù)需要互斥,讓用戶只能在其中二選一。
要給腳本創(chuàng)建一組互斥的參數(shù),可以給他們打上不同的屬性標志,同時確保它們的唯一性(假設(shè)不能自動識別參數(shù)類型).

function Test-ParameterSet
{
 [CmdletBinding(DefaultParameterSetName='number')]
 param
 (
  [int]
  [Parameter(ParameterSetName='number', Position=0)]
  $id,
 
  [string]
  [Parameter(ParameterSetName='text', Position=0)]
  $name
 )
 
 $PSCmdlet.ParameterSetName
 $PSBoundParameters
}


上面函數(shù)有兩個參數(shù),-id和-name.用戶只能使用其中一個,同時不能兩個都用。同時這里例子也教了大家怎么去獲取用戶輸入的參數(shù)。

多個互斥參數(shù)可以通過“ParameterSetName”來區(qū)分不同的參數(shù)設(shè)置(也包括集合參數(shù))
事實上你也可以分配多個參數(shù)跟一個參數(shù),即一個固定參數(shù)和一個可選參數(shù)。

function Test-ParameterSet
{
 [CmdletBinding(DefaultParameterSetName='NonCredential')]
 param
 (
  $id,
 
  [Parameter(ParameterSetName='LocalOnly', Mandatory=$false)]
  $LocalAction,
 
  [Parameter(ParameterSetName='Credential', Mandatory=$true)]
  [Parameter(ParameterSetName='NonCredential', Mandatory=$false)]
  $ComputerName,
 
  [Parameter(ParameterSetName='Credential', Mandatory=$false)]
  $Credential
 )
 
 $PSCmdlet.ParameterSetName
 $PSBoundParameters
 
 if ($PSBoundParameters.ContainsKey('ComputerName'))
 {
  Write-Warning 'Remote Call!'
 }
}


Test-ParameterSet 函數(shù)告訴你:當使用“NonCredential”時,-ComputerName是可選;當用戶使用“-Credential”參數(shù)時“-ComputerName”又變成必選參數(shù),如果使用了“-LocalAction”參數(shù),將不能使用-ComputerName和-Credential。

標簽:鶴崗 湛江 運城 德州 濟南 六盤水 岳陽 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Powershell互斥參數(shù)使用實例》,本文關(guān)鍵詞  Powershell,互斥,參數(shù),使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Powershell互斥參數(shù)使用實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于Powershell互斥參數(shù)使用實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章