2016-07-15 81 views
3

我正在使用powershell 4来调用Mirth Connect command line interface(mccommand.exe)。我明确避免使用Mirth CLI的“-s”参数传递Mirth脚本文件,因为我想将动态命令传递给Mirth Shell。使用Powershell脚本调用Mirth Connect CLI

当我从交互式powershell控制台调用mccommand.exe时,我可以连接到Mirth Connect服务器,并且Mirth Shell被打开,我可以运行一个或多个Mirth Shell命令来管理Mirth Channels。

例子:

. "C:\Program Files (x86)\Mirth Connect\mccommand.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脚本中运行相同的命令,我得到同样的“连接到欢乐Connect服务器@https://localhost:8443(3.4.1.8057)”的消息,但脚本等待,我从来没有得到“$”命令提示符,允许我将Mirth Shell命令传递给Mirth。

有关如何通过Powershell脚本将命令路由到Mirth Shell的任何想法?

+0

不知道这是否会有所帮助,因为我不能测试,但您可能想使用调用操作符('&')而不是点运算符(它具有不同的用途)。 –

回答

2

所以你必须通过所有的狂欢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"