在 Powershell 中远程安装 vbs

Remote install vbs in Powershell

我最近开始学习 powershell,这是我的第一个项目。我正在尝试自动远程安装。我试图到处寻找解决方案,但找不到合适的解决方案。问题是:

我需要在远程计算机上安装多个具有多个版本的应用程序。

我尝试了一些东西,但到目前为止没有任何效果:(

这个对我有用,但前提是我不使用变量。如果我使用它们 PS(或者我猜 cscript.exe)无法识别它们。

$hostname = "yourPc"

$app= "app_0001"

$ver = "v1.0.0"

Invoke-Command -ComputerName $hostname -ScriptBlock {cscript.exe \$hostname\directory\install.vbs /p:$app /v:$ver}

所以我基本上以 \$hostname\directory\install.vbs /p:$app /v:$ver 不存在结束。 cscript.exe 可以吗?

谢谢。

脚本块中的代码在远程计算机 运行 上运行,因此它无法访问您的局部变量。

您可以将 using: 作用域修饰符添加到您希望 PowerShell 复制到远程计算机的变量中:

Invoke-Command -ComputerName $hostname -ScriptBlock {
  cscript.exe \$using:hostname\directory\install.vbs /p:$using:app /v:$using:ver
}

... 或者您可以通过 -ArgumentList 参数将值作为 参数参数 显式传递给远程脚本块:

Invoke-Command -ComputerName $hostname -ScriptBlock {
  param($Path,$Application,$Version)

  cscript.exe \$Path\directory\install.vbs /p:$Application /v:$Version
} -ArgumentList $hostname,$app,$ver