プライベート MSMQ 3.0 キューが機能しているクラスターがあります。プログラムでアクセス許可を設定しようとしていますが、キューで System.Messaging 経由で接続できないようです。以下のコードは、ローカル キューを操作している場合 (およびローカル キューに .\ 命名法を使用している場合) に問題なく動作します。クラスター化されたキューのアクセス許可をプログラムで設定する方法は?
アクティブ ノードから実行された Powershell コード
function set-msmqpermission ([string] $queuepath,[string] $account, [string] $accessright)
{
if (!([System.Messaging.MessageQueue]::Exists($queuepath))){
throw "$queuepath could not be found."
}
$q=New-Object System.Messaging.MessageQueue($queuepath)
$q.SetPermissions($account,[System.Messaging.MessageQueueAccessRights]::$accessright,
[System.Messaging.AccessControlEntryType]::Set)
}
set-msmqpermission "clusternetworkname\private$\qa1ack" "UserAccount" "FullControl"
"3" 個の引数を指定して "SetPermissions" を呼び出し中に例外が発生しました: "無効なキュー パス名"。行:30 文字:19 + $q.SetPermissions <<<< ($account,[System.Messaging.MessageQueueAccessRights]::$accessright,
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException