Powershell的參數列表我想要一個說法強制性基於開關狀態 像根據病情
param(
[string]$para1,
[switch]$choice="Upgrade"
[string]$paraUpg
[string]$paraInstall
)
現在如果選擇的是Upgrade
我要讓$paraUpg
強制性的,如果$choice
是Install
然後$paraInstall
必須是強制性的
Powershell的參數列表我想要一個說法強制性基於開關狀態 像根據病情
param(
[string]$para1,
[switch]$choice="Upgrade"
[string]$paraUpg
[string]$paraInstall
)
現在如果選擇的是Upgrade
我要讓$paraUpg
強制性的,如果$choice
是Install
然後$paraInstall
必須是強制性的
你可以嘗試下面的東西。設置所有參數,如果$choice="Upgrade"
和$paraUpg
爲空或空引發異常。對$choice="Install"
同樣重複。根據所選參數,您可以有條件地選擇參數檢查後要執行的操作。
param(
[string]$para1,
[string]$choice="Upgrade",
[string]$paraUpg,
[string]$paraInstall
)
#check if choice is "Upgrade" and paraUpg is empty
if(($choice -eq "Upgrade") -and ([string]::IsNullOrEmpty($paraUpg)))
{
throw "paraUpg is a required parameter"
}
#check if choice is "Install" and paraInstall is empty
elseif (($choice -eq "Install") -and ([string]::IsNullOrEmpty($paraInstall)))
{
throw "paraInstall is a required parameter"
}
首先它的PowerShell
與Windows 7一起作爲其附加實用程序之一。
你還沒有給出關於你到目前爲止做了什麼的任何細節。我懷疑你想要這樣的東西。
在您的PowerShell
腳本中聲明params最好在頂部。
param([string]$UserName, [string]$Password, [string]$MachineName)
在需要的地方在您的powershell腳本中使用這些參數。現在創建一個批處理文件,您可以將值傳遞給這些參數。
@powershell -ExecutionPolicy Unrestricted -FILE YourPowerShellScript.ps1 "UserName" "Password" "MachineName"
我在批處理文件中指定了策略權限,所以每次在不同機器上運行腳本時都不必提及。希望能幫助到你。
請告訴我們你做了什麼。 – 2013-02-16 04:54:37
其實我想是這樣 參數( [字符串] $ PARA1, [轉] $選擇= 「升級」 [字符串] $ paraUpg [字符串] $ paraInstall ) 現在如果選擇的是升級我想使$ paraupg強制性,如果選擇是安裝然後$ paraInstall必須是強制性的 – Shree 2013-03-13 15:29:47
你可以添加這個新的信息到你的問題,它符合你試過的東西,人們不會投票它的標準(也許) – danseery 2013-03-13 18:20:19