【问题标题】:Get a single private queue by name in powershell在PowerShell中按名称获取单个私有队列
【发布时间】:2015-12-13 02:31:54
【问题描述】:

我想为一个特定的私人消息队列设置权限。我找到了this related answer,但它是一个更大的脚本,如果队列存在则首先删除它们,然后(重新)创建它们。该解决方案通过以下两种方式之一获取对队列的引用:

  1. 通过[System.Messaging.MessageQueue]::Create(".\private$\somequeue");或
  2. 通过循环访问[System.Messaging.MessageQueue]::GetPrivateQueuesByMachine(".")

我想做的是这样的:

GetPrivateQueueByName(".\private$\somequeue")  # Method doesn't exist!

但是我还没有找到这样的方法。我循环了MessageQueue 命名空间中的所有Get* 方法。

有没有办法通过名称获取单个私有队列,或以其他方式设置权限,而无需迭代所有队列和/或重新创建它?

【问题讨论】:

    标签: powershell msmq


    【解决方案1】:

    这将允许您向队列添加权限:

    [System.Reflection.Assembly]::LoadWithPartialName("System.Messaging") | Out-Null
    (New-Object -TypeName "System.Messaging.MessageQueue" -ArgumentList $queue).SetPermissions(agrs here)
    

    其中$queue 是队列地址,例如".\private$\MyQueue".

    这使用MessageQueueSetPermissions方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 2023-03-10
      • 2011-03-20
      • 2014-08-14
      相关资源
      最近更新 更多