1

Nant を使用してアプリケーションを展開していますが、プロセス中にいくつかの MSMQ キューを作成する必要があります。

Nant/psexec/cscript を使用して VBScript を呼び出し、キュー自体を作成しますが、権限も設定する必要があります。

これはプログラムで行うことができますか?

スクリプトで MSMQ キューにアクセス許可を設定することは承知していますが、その質問は PowerShell または VBScript を要求しており、PowerShell に対する受け入れられた回答があります。PowerShell を利用できないため、この質問は VBScript に固有のものです。

4

2 に答える 2

0

この投稿によると、MSMQ スクリプト API はクエリにアクセス許可を設定する手段を提供しないため、VBScript を使用してこのタスクを実行することはできません。

次の回避策を提案できます。

  • リンク先の投稿に示されているように、PowerShell を使用します。(PowerShell は .NET Framework を使用できるため、System.Messagingアセンブリによって提供される MSMQ .NET API を使用できます)。
  • 必要なアクセス許可を設定するカスタム ユーティリティを作成し、展開プロセスの一部としてこのユーティリティを呼び出します。キューのセキュリティを設定するには、次の API 関数を使用できます。
于 2010-07-08T14:20:00.873 に答える
0

これに出くわしただけで、答えがないことがわかりました。ここでのコツは、VB.Net または C# コードを nAnt で直接使用することです。これは、nAnt インクルードとグローバル空間のスクリプト タスクで行うことができます。コードでは、Task クラスから派生します。

または。スクリプト ブロックをターゲットに配置できます。再利用してパラメータを渡す方が簡単なので、前者の方法を好みます。

どちらの場合も、これは VBScript ではなく、完全にコンパイルされた .Net コードであるため、ほとんど何でも実行できます。

コード要素で System.Messaging をインポートし、ExecuteTask オーバーライドでキューを作成します。.\Users に読み取り/書き込み/ピークのアクセス許可を付与することを忘れないでください。そうしないと、nAnt スクリプトを実行したユーザー (通常は Web サーバーまたは Windowsキューを読み取っているサービス)。

また、Messaging.MessageQueue クラスへのフル アクセスがあるため、存在を確認して既存のキューを削除するかどうかを指定できます。

于 2013-02-19T05:06:51.407 に答える