PowerShell SCript使用参数执行CMD.exe

Pet*_*ott 2 powershell cmd invoke-command

因此,我已经浏览了该站点和Web,感觉好像缺少了一些简单的东西。

我发现相关问题,但是没有一个问题scriptblock与第3方应用程序(不是简单的Windows函数或应用程序)的远程调用相结合

我有以下字符串,可以将其复制到命令窗口中,并且可以正常运行

"C:\Program Files (x86)\Vizient\Vizient Secure Channel v2.1\VizientSC.exe" UID=me@musc.edu PWD=XXXXXXXXX HCOID=123456 PRODTYPE=PRO-UHCSECURECHANNEL-CDB PACKAGETYPE=OTH FOLDERPATH="\\da\db5\MyFiles\Viz\20180413"
Run Code Online (Sandbox Code Playgroud)

为了简化这一过程,我们假设我想每次使用REMOTE调用时都运行相同的String。

我已经写了许多不同的方法,但是使用却无济于事

Invoke-Command -ComputerName "edwsql" -ScriptBlock { .........
Run Code Online (Sandbox Code Playgroud)

我只想在远程计算机上使用cmd.exe运行指定的字符串。

在字符串中运行的EXE是第三方软件,我不想安装所有可能的位置。从已安装且安全的盒子运行远程要容易得多。

有人可以指出我正确的方向吗????请问 我是PowerShell的新手。我正在尝试淘汰一些旧的PERL,因为在这几天之间,支持客户网站上的支持的人很少。

Bil*_*art 5

您无需这么努力。PowerShell可以运行命令。如果要运行的命令包含空格,请将其括起来"(完成操作)并使用&(调用或调用)运算符将其调用。这就是您需要做的所有事情:

& "C:\Program Files (x86)\Vizient\Vizient Secure Channel v2.1\VizientSC.exe" UID=me@musc.edu PWD=XXXXXXXXX HCOID=123456 PRODTYPE=PRO-UHCSECURECHANNEL-CDB PACKAGETYPE=OTH FOLDERPATH="\\da\db5\MyFiles\Viz\20180413"
Run Code Online (Sandbox Code Playgroud)

如果可执行文件的命令行上的参数包含PowerShell以特殊方式解释的任何字符,则需要将其引用。

  • 请注意,如果他的`PWD =`参数中包含PowerShell特殊字符,则此操作将失败。 (3认同)