我已使用以下链接将 MSMQ 功能安装到服务器(win 2008 R2)和客户端计算机(win 7)上。该功能出现在服务器管理器中,我可以通过 GUI 创建公共或私有队列。但是,当我尝试通过 PowerShell (2.0) 在服务器上本地访问队列时,shell 中没有一个用于 MSMQ的Cmdlet被识别。
通过 PowerShell 访问 MSMQ 是否需要采取任何进一步的步骤?是否有我需要加载的 MSMQ 模块?
对此的任何建议将不胜感激。
我已使用以下链接将 MSMQ 功能安装到服务器(win 2008 R2)和客户端计算机(win 7)上。该功能出现在服务器管理器中,我可以通过 GUI 创建公共或私有队列。但是,当我尝试通过 PowerShell (2.0) 在服务器上本地访问队列时,shell 中没有一个用于 MSMQ的Cmdlet被识别。
通过 PowerShell 访问 MSMQ 是否需要采取任何进一步的步骤?是否有我需要加载的 MSMQ 模块?
对此的任何建议将不胜感激。
如果您在提供的链接中单击上一级,您将看到您正在查看预发布的 PowerShell 4.0 模块文档。这是到父页面的链接。
https://web.archive.org/web/20131029215718/http://technet.microsoft.com/en-us/library/dn249523.aspx
PowerShell Community Extensions (PSCX) 有一些用于与 MSMQ 一起使用的 cmdlet,但它也可以与 PowerShell 2.0 一起使用。
以下方法适用于 Powershell 2.0:
$query = "SELECT MessagesinQueue FROM Win32_PerfRawData_MSMQ_MSMQQueue WHERE Name = 'myPrivateQueueName'"
$wmiObject = Get-WmiObject -Query $query
$wmiObject.MessagesinQueue
您可以使用此查询列出队列:
$query = "SELECT * FROM Win32_PerfRawData_MSMQ_MSMQQueue"
查看将以 .Name="theQueueName" 结尾的 __PATH 属性
我想补充一下,我遇到了这个错误,但是在 windows serverur 2019 中使用了版本 5。我去检查了计算机管理、服务和应用程序,并且没有一个部分名称为消息队列。这可以解释为什么我不能运行命令行。
https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/installing-message-queuing-msmq
在那之后我不得不重新启动我的电脑。弹出窗口告诉您这样做。