MessageQueue.SetPermissions メソッド

定義

現在のセットにアクセス許可を追加します。 キューのプロパティとキューのメッセージにアクセスできるユーザーを制御します。

オーバーロード

SetPermissions(AccessControlList)

アクセス制御リストの内容に基づいてアクセス権をキューに割り当てます。

SetPermissions(MessageQueueAccessControlEntry)

アクセス制御エントリの内容に基づいてアクセス権をキューに割り当てます。

SetPermissions(String, MessageQueueAccessRights)

コンピューター、グループ、またはユーザーに指定したアクセス権を与えます。

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

アクセス制御の種類 (許可、拒否、取り消し、またはセット) からいずれかを指定して、コンピューター、グループ、またはユーザーに指定したアクセス権を付与します。

SetPermissions(AccessControlList)

アクセス制御リストの内容に基づいてアクセス権をキューに割り当てます。

public:
 void SetPermissions(System::Messaging::AccessControlList ^ dacl);
public void SetPermissions (System.Messaging.AccessControlList dacl);
member this.SetPermissions : System.Messaging.AccessControlList -> unit
Public Sub SetPermissions (dacl As AccessControlList)

パラメーター

dacl
AccessControlList

トラスティと付与するアクセス許可を指定する 1 つ以上のアクセス制御エントリを含む AccessControlList

例外

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例は、SetPermissions(AccessControlList) の使用方法を示します。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList^ list = gcnew AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry^ entry = gcnew AccessControlEntry(
    tr, GenericAccessRights::Read,
    StandardAccessRights::Read,
    AccessControlEntryType::Allow);

// Add the AccessControlEntry to the AccessControlList.
list->Add(entry);

// Apply the AccessControlList to the queue.
queue->SetPermissions(list);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create an AccessControlList.
AccessControlList list = new AccessControlList();

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create an AccessControlEntry, granting the trustee read access to
// the queue.
AccessControlEntry entry = new AccessControlEntry(
    tr, GenericAccessRights.Read,
    StandardAccessRights.Read,
    AccessControlEntryType.Allow);

// Add the AccessControlEntry to the AccessControlList.
list.Add(entry);

// Apply the AccessControlList to the queue.
queue.SetPermissions(list);

注釈

アクセス制御エントリのコレクションを使用してトラスティとアクセス許可の情報を指定することで、権限を付与、拒否、または取り消すには、このオーバーロードを使用します。 これは、たとえば、複数のユーザーに同時にアクセス許可を付与するために使用されます。

パラメーターを構築するときに指定する ace トラスティには、個々のユーザー、ユーザーのグループ、またはコンピューターを指定できます。 トラスティが個人の場合は、形式 DOMAIN\userを使用します。 トラスティに "." を指定して、ローカル コンピューターを示すことができます。

既存のリストに追加権限を使用して SetPermissions 割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 呼び出 SetPermissionsすと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

システムは、次のいずれかのイベントが発生するまで、各 AccessControlEntry イベントを順番に検査します。

  • アクセス拒否では、 AccessControlEntry スレッドのアクセス トークンに記載されているトラスティのいずれかに対して、要求されたアクセス権のいずれかが明示的に拒否されます。

  • スレッドのアクセス トークンに記載されているトラスティに対して、1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていない要求されたアクセス権がまだ少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

パラメーターをdacl作成するときは、コレクションにインスタンスをAccessControlList追加AccessControlEntryします。 各アクセス制御エントリを作成するときに、汎用または標準のアクセス権を指定できます。 キューに対する権限は、次の任意の組み合わせにすることができます。

  • 削除

  • セキュリティの読み取り

  • 書き込みセキュリティ

  • 同期

  • 所有者の変更

  • Read

  • Write

  • 実行

  • 必須

  • All

  • なし

これらの権限は、OR ビットごとの演算子を使用して組み合わせることができるビット フラグのセットです。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可を設定する

  • キューの所有権の取得

  • メッセージの書き込み

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(MessageQueueAccessControlEntry)

アクセス制御エントリの内容に基づいてアクセス権をキューに割り当てます。

public:
 void SetPermissions(System::Messaging::MessageQueueAccessControlEntry ^ ace);
public void SetPermissions (System.Messaging.MessageQueueAccessControlEntry ace);
member this.SetPermissions : System.Messaging.MessageQueueAccessControlEntry -> unit
Public Sub SetPermissions (ace As MessageQueueAccessControlEntry)

パラメーター

ace
MessageQueueAccessControlEntry

ユーザー、アクセスの種類、およびアクセス許可の種類を指定する MessageQueueAccessControlEntry

例外

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例は、SetPermissions(MessageQueueAccessControlEntry) の使用方法を示します。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee^ tr = gcnew Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry^ entry = gcnew
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue->SetPermissions(entry);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create a new trustee to represent the "Everyone" user group.
Trustee tr = new Trustee("Everyone");

// Create a MessageQueueAccessControlEntry, granting the trustee the
// right to receive messages from the queue.
MessageQueueAccessControlEntry entry = new
    MessageQueueAccessControlEntry(
    tr, MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

// Apply the MessageQueueAccessControlEntry to the queue.
queue.SetPermissions(entry);

注釈

アクセス制御エントリを使用してトラスティと権限の情報を指定することで、権限を付与、拒否、または取り消すには、このオーバーロードを使用します。

パラメーターを構築するときに指定する ace トラスティには、個々のユーザー、ユーザーのグループ、またはコンピューターを指定できます。 トラスティが個人の場合は、形式 DOMAIN\userを使用します。 トラスティに "." を指定して、ローカル コンピューターを示すことができます。

既存のリストに追加権限を使用して SetPermissions 割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 呼び出 SetPermissionsすと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

システムは、次のいずれかのイベントが発生するまで、各 AccessControlEntry イベントを順番に検査します。

  • アクセス拒否では、 AccessControlEntry スレッドのアクセス トークンに記載されているトラスティのいずれかに対して、要求されたアクセス権のいずれかが明示的に拒否されます。

  • スレッドのアクセス トークンに記載されているトラスティに対して、1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていない要求されたアクセス権がまだ少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

作成するときにMessageQueueAccessControlEntryパラメーターでrights指定するキューに対する権限は、次の任意の組み合わせにすることができます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可を設定する

  • キューの所有権の取得

  • メッセージの書き込み

パラメーターの rights コンストラクター ace で指定するパラメーターは、列挙型の MessageQueueAccessRights フラグです。 これは、パラメーターをビルドするときにビットごとの演算子 OR を使用して組み合わせることができるビット フラグのセットを rights 表します。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(String, MessageQueueAccessRights)

コンピューター、グループ、またはユーザーに指定したアクセス権を与えます。

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights);
public void SetPermissions (string user, System.Messaging.MessageQueueAccessRights rights);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights)

パラメーター

user
String

キューに対する追加のアクセス権を取得するそれぞれのユーザー、グループ、またはコンピューター。

rights
MessageQueueAccessRights

メッセージ キューが user に割り当てるキューに対するアクセス権のセットを示す MessageQueueAccessRights

例外

usernull です。

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例は、SetPermissions(String, MessageQueueAccessRights) の使用方法を示します。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage);

注釈

このオーバーロードを使用して、指定した権限を個々のユーザーに付与します。 ユーザーには、任意の有効なトラスティを指定できます。これには、個々のユーザー、ユーザーのグループ、またはコンピューターが含まれます。 ユーザーが個人の場合は、パラメーターの形式 DOMAIN\useruser 使用します。 パラメーターに "." user を指定して、ローカル コンピューターを示すことができます。

既存のリストに追加権限を使用して SetPermissions 割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 呼び出 SetPermissionsすと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

システムは、次のいずれかのイベントが発生するまで、各 AccessControlEntry イベントを順番に検査します。

  • アクセス拒否では、 AccessControlEntry スレッドのアクセス トークンに記載されているトラスティのいずれかに対して、要求されたアクセス権のいずれかが明示的に拒否されます。

  • スレッドのアクセス トークンに記載されているトラスティに対して、1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていない要求されたアクセス権がまだ少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

パラメーターで rights 指定されたキューに対する権限には、次の任意の組み合わせを指定できます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可を設定する

  • キューの所有権の取得

  • メッセージの書き込み

列挙型は MessageQueueAccessRights 、ビットごとの演算子 OR を使用して組み合わせてパラメーターを構築できるビット フラグのセットを rights 表します。

このオーバーロードでは、アクセス許可のみを付与できます。取り消したり拒否したりすることはできません。 以外を明示的に許可AccessControlEntryTypeAllowするには、別のオーバーロードを使用する必要があります。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式名 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式名 いいえ

こちらもご覧ください

適用対象

SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType)

アクセス制御の種類 (許可、拒否、取り消し、またはセット) からいずれかを指定して、コンピューター、グループ、またはユーザーに指定したアクセス権を付与します。

public:
 void SetPermissions(System::String ^ user, System::Messaging::MessageQueueAccessRights rights, System::Messaging::AccessControlEntryType entryType);
public void SetPermissions (string user, System.Messaging.MessageQueueAccessRights rights, System.Messaging.AccessControlEntryType entryType);
member this.SetPermissions : string * System.Messaging.MessageQueueAccessRights * System.Messaging.AccessControlEntryType -> unit
Public Sub SetPermissions (user As String, rights As MessageQueueAccessRights, entryType As AccessControlEntryType)

パラメーター

user
String

キューに対する追加のアクセス権を取得するそれぞれのユーザー、グループ、またはコンピューター。

rights
MessageQueueAccessRights

メッセージ キューが user に割り当てるキューに対するアクセス権のセットを示す MessageQueueAccessRights

entryType
AccessControlEntryType

rights パラメーターで指定したアクセス許可で、付与、拒否、取り消しのどの操作を実行するかを指定する AccessControlEntryType

例外

メッセージ キューのメソッドにアクセスしたときにエラーが発生しました。

次のコード例は、SetPermissions(String, MessageQueueAccessRights, AccessControlEntryType) の使用方法を示します。


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue->SetPermissions("Everyone",
    MessageQueueAccessRights::ReceiveMessage,
    AccessControlEntryType::Allow);

queue->Close();

// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Grant all users in the "Everyone" user group the right to receive
// messages from the queue.
queue.SetPermissions("Everyone", MessageQueueAccessRights.ReceiveMessage,
    AccessControlEntryType.Allow);

注釈

このオーバーロードを使用して、個々のユーザーに対して指定された権限を付与、拒否、または取り消します。 ユーザーには、任意の有効なトラスティを指定できます。これには、個々のユーザー、ユーザーのグループ、またはコンピューターが含まれます。 ユーザーが個人の場合は、パラメーターの形式 DOMAIN\useruser 使用します。 パラメーターに "." user を指定して、ローカル コンピューターを示すことができます。

既存のリストに追加権限を使用して SetPermissions 割り当てるアクセス許可。 既定では、パブリック キューまたはプライベート キューの作成者はフル コントロールを持ち、ドメイン グループ Everyone には、キューのプロパティの取得、アクセス許可の取得、キューへの書き込みを行うアクセス許可があります。 呼び出 SetPermissionsすと、ユーザーとアクセス許可の情報が既存のリストの下部に追加されます。

システムは、次のいずれかのイベントが発生するまで、各 AccessControlEntry イベントを順番に検査します。

  • アクセス拒否では、 AccessControlEntry スレッドのアクセス トークンに記載されているトラスティのいずれかに対して、要求されたアクセス権のいずれかが明示的に拒否されます。

  • スレッドのアクセス トークンに記載されているトラスティに対して、1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に付与します。

  • すべての AccessControlEntry 項目がチェックされ、明示的に許可されていない要求されたアクセス権がまだ少なくとも 1 つ存在します。その場合、アクセスは暗黙的に拒否されます。

パラメーターで rights 指定されたキューに対する権限には、次の任意の組み合わせを指定できます。

  • フル コントロール

  • メッセージの削除

  • メッセージの受信

  • メッセージのピーク

  • 履歴メッセージの受信

  • キューのプロパティを取得する

  • キューのプロパティを設定する

  • アクセス許可の取得

  • アクセス許可を設定する

  • キューの所有権の取得

  • メッセージの書き込み

列挙型は MessageQueueAccessRights 、ビットごとの演算子 OR を使用して組み合わせてパラメーターを構築できるビット フラグのセットを rights 表します。

次の表は、このメソッドがさまざまなワークグループ モードで使用できるかどうかを示しています。

ワークグループ モード 利用可能
ローカル コンピューター はい
ローカル コンピューターと直接形式の名前 はい
リモート コンピューター いいえ
リモート コンピューターと直接形式の名前 いいえ

こちらもご覧ください

適用対象