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