我试图在下面的命令脚本install.ps1中为参数传递值。我通过./install.ps1 HD1
执行它invoke-command -Session $session -ScriptBlock {G:\usr\sap\$($args[0])\hdbclient\hdbuserstore.exe list}
但它给我一个错误
术语' G:\ usr \ sap \ $($ args [0])\ hdbclient \ hdbuserstore.exe'不是 被识别为cmdlet,函数,脚本文件或可操作的名称 程序。检查名称的拼写,或者是否包含路径, 验证路径是否正确,然后重试。 + CategoryInfo:ObjectNotFound:(G:\ usr \ sap \ $($ a ... dbuserstore.exe:String)[], CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException + PSComputerName:主机名
答案 0 :(得分:2)
您未使用-Argumentlist
上的Invoke-Command
参数。让我举一个例子如下。如果要使用自定义变量名,请在scriptblock中使用Param方法。
$Directory = "HD1"
$Scriptblock = {
param($Var1)
G:\usr\sap\$Var1\hdbclient\hdbuserstore.exe list
}
invoke-command -Session $session -ScriptBlock $Scriptblock -ArgumentList $Directory