在BizTalk服务器上远程执行PowerShell脚本
我正在尝试运行PowerShell脚本,以从本地计算机返回BizTalk server上主机实例的状态。当我从BizTalk server尝试此脚本时,我能够获得信息,但是我无法使用invoke命令运行该脚本。ps远程处理已启用,因为我可以使用invoke命令运行基本写主机。远程运行时不会显示任何结果。下面是我使用的脚本和得到的输出在BizTalk服务器上远程执行PowerShell脚本,biztalk,Biztalk,我正在尝试运行PowerShell脚本,以从本地计算机返回BizTalk server上主机实例的状态。当我从BizTalk server尝试此脚本时,我能够获得信息,但是我无法使用invoke命令运行该脚本。ps远程处理已启用,因为我可以使用invoke命令运行基本写主机。远程运行时不会显示任何结果。下面是我使用的脚本和得到的输出 Invoke-command -ComputerName XXXXXXXXXXXXXX -ScriptBlock{ write-host "HELLO&q
Invoke-command -ComputerName XXXXXXXXXXXXXX -ScriptBlock{
write-host "HELLO"
Write-Host "`nHost Instance Information ("$hostInstances.Count")" -fore DarkGray
foreach ($hostInstance in $hostInstances) {
switch ($hostInstance.servicestate) {
1 { $hostInstanceState = "Stopped" }
2 { $hostInstanceState = "Start pending" }
3 { $hostInstanceState = "Stop pending" }
4 { $hostInstanceState = "Running" }
5 { $hostInstanceState = "Continue pending" }
6 { $hostInstanceState = "Pause pending" }
7 { $hostInstanceState = "Paused" }
8 { $hostInstanceState = "Unknown" }
}
switch ($hostInstance.HostType) {
1 { $hostInstanceType = "In-process" }
2 { $hostInstanceType = "Isolated" }
}
if ($hostInstanceState -eq "Running") {
Write-Host $hostInstance.hostname "($hostInstanceType)" "- " -NoNewline
Write-Host $hostInstanceState -fore green
}
elseif ($hostInstanceState -eq "Stopped") {
if ($hostInstance.IsDisabled -eq $true ) {
Write-Host $hostInstance.hostname "($hostInstanceType)" "- " -NoNewline
Write-Host $hostInstanceState "(Disabled)" -fore red
}
else {
Write-Host $hostInstance.hostname "($hostInstanceType)" "- " -NoNewline
Write-Host $hostInstanceState -fore Red
}
}
else {
if ($hostInstanceType -eq "In-process") {
Write-Host $hostInstance.hostname "($hostInstanceType)" "- " -NoNewline
Write-Host $hostInstanceState "(Disabled:$($hostInstance.IsDisabled))" -fore DarkYellow
}
else {
Write-Host $hostInstance.hostname "($hostInstanceType)"
}
}
}
}
输出为:
PS C:\windows\system32>C:\Users\srama\Desktop\bizzzz.ps1
你好
主机实例信息()
()
跟踪主机
您是否在BizTalk server上启用了Powershell远程命令
您必须在远程计算机上导入模块BizTalkFactory.PowerShell.Extensions.dll:
Invoke-command -ComputerName XXXXXXXXXXXXXX -ScriptBlock {
Import-Module $remoteBizTalkPowerShellExtensionsPath -force
...
您使用哪个powershell库来执行特定于BizTalk的命令?是否有选项告诉它BizTalk主机名?这是否支持BizTalk 2010。我在biztalk中没有看到该模块。如果没有,如何获取该模块此扩展是支持biztalk 2010的biztalk Server PowerShell提供程序(您可以从此处下载)的一部分。如果要使用WMI对象,必须在远程脚本$hostInstances=get-WmiObject MSBTS\U HostInstance-命名空间根目录\MicrosoftBizTalkServer-错误操作停止中包含获取WMI对象的代码