我的任务是连接到其他VM并执行某些任务,.....并传递任务参数。我为此使用Invoke-Expression,..... 现在,当我直接在invoke-expression中传递静态路径时,效果很好,但是当我将其分配给varible并追加到invoke-expression时。它不起作用
我尝试通过提供静态路径来正常工作并在远程vm上执行批处理,问题是路径是动态的
Static is working fine has shown below:
$server="slc10XXX.XX.XXXX.com"
$username="XXXXXXX"
$password="XXXXXX@321"
$pass = ConvertTo-SecureString -AsPlainText $password -Force
$cred = New-Object System.Management.Automation.PSCredential -
ArgumentList $username,$pass
$path="cmd.exe /c C:\Task6-MASSUOW\chay.bat"
Invoke-Command -ComputerName $server -credential $cred -Erroraction Stop
-ScriptBlock {Invoke-Expression -Command:"cmd.exe /c C:\Task6-
MASSUOW\chay.bat"}
Getting issue in below code when i assign $path:
$server="slc10XXX.XX.XXXX.com"
$username="XXXXXXX"
$password="XXXXXX@321"
$pass = ConvertTo-SecureString -AsPlainText $password -Force
$cred = New-Object System.Management.Automation.PSCredential -
ArgumentList $username,$pass
$path="cmd.exe /c C:\Task6-MASSUOW\chay.bat"
Invoke-Command -ComputerName $server -credential $cred -Erroraction Stop
-ScriptBlock {Invoke-Expression -Command:"$path"}
PowerShell.exe:无法将参数绑定到参数“ Command”,因为 它为空。在第1行:char:1 + PowerShell.exe -ExecutionPolicy绕过-File'C:\ Users \ chaj \ Documents ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:未指定:(无法绑定arg ...,因为它为null。:String)[],RemoteException + FullyQualifiedErrorId:NativeCommandError在C:\ Users \ chaj \ Documents \ String \ Chat1.ps1:8 char:1 +调用命令-ComputerName $ server -credential $ cred -Erroraction S ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidData:(:) [Invoke-Expression],ParameterBindingValidationException + FullyQualifiedErrorId:ParameterArgumentValidationErrorNullNotAllowed,microsoft.PowerShell.Commands.InvokeExpre ssionCommand + PSComputerName:slc10XXXX.XX.XXXX.com