在 Powershell 4 中使用 'Get-MsmqQueue' 获取远程 MSMQ 对象
Get remote MSMQ object using 'Get-MsmqQueue' in Powershell 4
我正在尝试将 MessageQueue 对象获取到 return,以便通过 Powershell 4.0 cmdlet 向其添加消息:
Get-MsmqQueue
如果我在具有消息队列的本地服务器上,我可以运行以下内容并且 MessageQueue
类型的对象是 returned:
Get-MsmqQueue -Name "myQueueName"
现在,如果我在脚本需要存在的另一台服务器上,我似乎无法将 MessageQueue 对象获取到 return。我已经尝试了很多不同的单引号和双引号组合、不同的标志等。
Get-MsmqQueue -Name 'myServerName.myCompany.com\private$\myQueueName'
Get-MsmqQueue -Name 'myServerName\private$\myQueueName'
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName.myCompany.com\private$\myQueueName'
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName\private$\myQueueName'
Get-MsmqQueue -Name "FormatName:DIRECT=OS:myServerName\private$\myQueueName"
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName\private$\myQueueName' -QueueType Private
有没有人有幸做到这一点?我真的很感激你的帮助。提前致谢!
我发现这个很管用:
[System.Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$queuePath = "FormatName:DIRECT=OS:myServerName\private$\myQueueName"
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()
我正在尝试将 MessageQueue 对象获取到 return,以便通过 Powershell 4.0 cmdlet 向其添加消息:
Get-MsmqQueue
如果我在具有消息队列的本地服务器上,我可以运行以下内容并且 MessageQueue
类型的对象是 returned:
Get-MsmqQueue -Name "myQueueName"
现在,如果我在脚本需要存在的另一台服务器上,我似乎无法将 MessageQueue 对象获取到 return。我已经尝试了很多不同的单引号和双引号组合、不同的标志等。
Get-MsmqQueue -Name 'myServerName.myCompany.com\private$\myQueueName'
Get-MsmqQueue -Name 'myServerName\private$\myQueueName'
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName.myCompany.com\private$\myQueueName'
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName\private$\myQueueName'
Get-MsmqQueue -Name "FormatName:DIRECT=OS:myServerName\private$\myQueueName"
Get-MsmqQueue -Name 'FormatName:DIRECT=OS:myServerName\private$\myQueueName' -QueueType Private
有没有人有幸做到这一点?我真的很感激你的帮助。提前致谢!
我发现这个很管用:
[System.Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$queuePath = "FormatName:DIRECT=OS:myServerName\private$\myQueueName"
$queue = New-Object System.Messaging.MessageQueue $queuePath
$queue.GetAllMessages()