blackberry - 将 Powershell 变量传递到脚本 block 中

标签 blackberry powershell remoting

我正在尝试使用 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 : A positional parameter cannot be found that accepts argument 'Pa$$word'. At C:\Scripts\bb\RandomActivationEmail.ps1:12 char:15 + Invoke-Command <<<< -Session $s -Scriptblock {cd "C:\Program Files (x86)\Research In Motion\BlackBerry Enterprise Se rver Resource Kit\BlackBerry Enterprise Server User Administration Tool Client" + CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException + FullyQualifiedErrorId : 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

关于blackberry - 将 Powershell 变量传递到脚本 block 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023012/

相关文章:

java - Blackberry:我的 ListField 实现有什么问题?

powershell - 使用PowerShell更改AD中电话号码的格式

powershell - 从脚本模块中的嵌套模块调用函数并不总是触发模块自动加载

c# - unity .net Remoting Server get_animation只能从主线程调用

c# - 如何在服务结构中为服务远程调用设置超时

javascript - 如何在黑莓设备的客户端存储数据

java - 单击另一个选项卡的按钮后如何执行包含在一个选项卡中的try-catch-Blackberry

blackberry - 如何在 Blackberry 上显示整个应用程序的时钟倒计时?

windows - Windows Powershell 中的 mklink 是什么?

java - 无法从 AS3 Flash CS6 调用 red5 服务器中的方法