我正在尝试获取 PowerShell 变量并将它们应用到脚本块。
param(
[string]$username = $(throw "Blackberry Admin User Name is required"),
[string]$password = $(throw "Blackberry Admin Password is required"),
[string]$u = $(throw "Blackberry User Name is required")
)
$s = New-PSSession -computerName bbbes01
Invoke-Command -Session $s -Scriptblock {cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server Resource Kit\BlackBerry Enterprise Server User Administration Tool Client"
./BESUserAdminClient -username $username -password $password -ad_auth -domain staging -b bbbes -u $u -change -wrandom} -argumentlist $username $password $u
我在跑步
.\RandomActivationEmail.ps1 -username besadmin -password Pa$$word -u bb.user
我收到的错误是:
Invoke-Command:找不到接受参数“Pa$$word”的位置参数。
在 C:\Scripts\bb\RandomActivationEmail.ps1:12 字符:15
+ Invoke-Command + CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
+ FullQualifiedErrorId:PositionalParameterNotFound、Microsoft.PowerShell.Commands.InvokeCommandCommand
您可以通过 -arguments 参数传递值,并在脚本块内将它们引用为 $args[0] 等:
Invoke-Command -Session $s -Scriptblock {
cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server Resource Kit\BlackBerry Enterprise Server User Administration Tool Client"
./BESUserAdminClient -username $args[0] -password $args[1] -ad_auth -domain staging -b bbbes -u $args[2] -change -wrandom
} -argumentlist $username $password $u
或者在脚本块内定义参数并使用命名参数:
Invoke-Command -Session $s -Scriptblock {
param(
$username,$password,$u
)
cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server Resource Kit\BlackBerry Enterprise Server User Administration Tool Client"
./BESUserAdminClient -username $username -password $password -ad_auth -domain staging -b bbbes -u $u -change -wrandom
} -argumentlist $username $password $u
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)