我正在使用powershell 4来调用Mirth Connect命令行界面(mccommand.exe)。我明确避免使用 Mirth CLI 的"-s"参数来传递 Mirth 脚本文件,因为我想将动态命令传递给 Mirth Shell。
当我从交互式Powershell控制台调用mccommand.exe时,我能够连接到Mirth Connect服务器,并且Mirth Shell被打开,我可以在其中运行一个或多个Mirth Shell命令来管理Mirth Channels。
例:
. "C:Program Files (x86)Mirth Connectmccommand.exe" -a "https://localhost:8443" -u admin_user -p admin_password
Connected to Mirth Connect server @ https://localhost:8443 (3.4.1.8057)
$
当我通过Windows Powershell ISE从Powershell脚本中运行相同的命令时,我收到相同的"连接到Mirth Connect服务器@https://localhost:8443(3.4.1.8057)"消息,但脚本等待,我永远不会收到"$"命令提示符,允许我将Mirth Shell命令传递给Mirth。
关于如何通过Powershell脚本将命令路由到Mirth Shell的任何想法?
所以你必须将所有 mirth shell 命令作为文本文件传递。这是我用来导入和部署任何通道的方法。
按照以下代码操作:
Set-Location 'C:Mirth Connect'
$ChannelOutput=.mccommand.exe -a https://localhost:38443 -u username -p password -s "C:commands.txt"
If($ChannelOutput -like '*successfully*')
{
"Channel created successfully and deplyed"
}
else
{
$_.Exception.Message
}
文本文件应包含如下所示的命令集:
Commands.txt:
import "C:TestServiceChannel1.xml" Force
channel deploy "Channel_name"
更新,我为Mirth REST API编写了一个PowerShell包装器。 到目前为止,只在Mirth 3.6上进行了真正的测试,并且是用PowerShell v5.1编写的,这是Windows 10附带的默认版本。 这允许您编写 PowerShell 脚本,这些脚本可以执行 Mirth 管理控制台可以执行的任何操作。
https://github.com/naql/PS_Mirth