首页 > 解决方案 > 通过 power-shell 命令/脚本远程监控 IBM MQ

问题描述

我正在尝试使用 PowerShell 脚本/命令获取远程 IBM MQ 的队列深度。好像不能正常工作,请帮忙。

{
$myremoteconns = New-WMQQmgrConnDef -Name T.test.TEST.QM1 -Hostname abcd_testhost01 -Port 1111 -Channel T.test.MQMQ.TESTCHN

$qm = Get-WMQQueueManager -Connections $myremoteconns | where {$_.Name -like 'T.test.TEST.QM1'} 

错误 New-WMQQmgrConnDef 无法识别术语“New-WMQQmgrConnDef”

已经从下面安装了 WebSphere MQ - Windows PowerShell 库。

http://www-01.ibm.com/support/docview.wss?uid=swg24017698

谢谢

标签: powershellibm-mq

解决方案


此错误意味着 PowerShell 找不到此 cmdlet。您需要检查您安装的模块是否被 PowerShell 正确找到。首先检查这个:

Get-Module -ListAvailable

结果将如下所示:

PS C:\Users\username\PowerShell> get-module -ListAvailable


    Directory: C:\Program Files\WindowsPowerShell\Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     3.0.1      ImportExcel                         {Import-Html, ConvertFrom-ExcelSheet, PieChart, Import-UPS...}

如果您没有在列表中找到该模块,您可以使用以下方法手动导入它:

Import-Module -Name 'C:\path\to\module.psm1'

在 PowerShell(从 V3 开始)中,如果模块位于 environment variable 中指定的路径之内,则应自动导入它们PSModulePath。您可以使用以下方法检查其值:

$env:PSModulePath

一旦您知道此变量中包含哪些文件夹,您就可以将模块移到那里,也可以使用添加另一个路径

$env:PSModulePath = $env:PSModulePath + ";c:\path\to\module"

这将适用于当前会话。如果要为所有会话修改它,可以将下面的行添加到 PowerShell 配置文件。

更多信息:


推荐阅读