在Powershell中远程安装vbs

在Powershell中远程安装vbs,powershell,cmd,remote-access,Powershell,Cmd,Remote Access,我最近开始学习powershell,这是我的第一个项目。我正在尝试自动远程安装。我试着到处寻找解决办法,但我找不到合适的。问题是: 我需要在远程计算机上安装多个具有多个版本的应用程序 我尝试了几件事,但到目前为止没有任何效果:( 这一个对我有效,但前提是我不使用变量。如果我使用变量,PS(或者我猜cscript.exe)不会识别它们 $hostname = "yourPc" $app= "app_0001" $ver = "v1.0.0&qu

我最近开始学习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来实现这一点


谢谢。

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

您可以使用:范围修饰符将
添加到希望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

在每台电脑上都安装.vbs?否则将您的脚本放入公共共享,并使用公共共享路径来运行您的命令,这正是我所需要的。非常感谢!:)