名前空間セキュリティ記述子の設定

完全な Administrator アカウントで実行されている C++ アプリケーションとスクリプトの両方で、名前空間のセキュリティ記述子を変更できます。

名前空間セキュリティ記述子

各 WMI 名前空間には "セキュリティ記述子" があります。これにより、名前空間のデータとメソッドにアクセスできるユーザーを決定する一意のセキュリティ設定を各名前空間に設定できます。 WMI アクセス セキュリティの詳細については、「WMI セキュリティ保護可能オブジェクトへのアクセス」を参照してください。 WMI 名前空間へのアクセスでは、WMI 名前空間の既定のセキュリティ設定と WMI のセキュリティ監査について説明しています。

WMI (CIM) リポジトリ内の各 WMI 名前空間のアカウントアクセス許可は、次の方法で設定できます。

各名前空間に関連付けられている __SystemSecurity オブジェクトの次のメソッドを使用すると、名前空間のセキュリティを読み取ったり変更したりできます。

GetCallerAccessRights

アクセス権に対応する各ビットを持つビットマップとして rights パラメーターを設定します。

GetSD

ユーザーが接続されている先の名前空間のセキュリティ記述子を取得します。 このメソッドでは、バイナリ バイト配列形式のセキュリティ記述子が返されます。 スクリプトを記述する場合は、GetSecurityDescriptor メソッドを使用します。

SetSD

ユーザーが接続されている名前空間のセキュリティ記述子 (SD) を設定します。 このメソッドには、バイナリ バイト配列形式のセキュリティ記述子が必要です。 スクリプトを記述する場合は、SetSecurityDescriptor メソッドを使用します。

GetSecurityDescriptor

__SystemSecurity のインスタンスに関連付けられている WMI 名前空間へのアクセスを制御するセキュリティ記述子を取得します。 セキュリティ記述子は、__SecurityDescriptor のインスタンスとして返されます。

SetSecurityDescriptor

プリンターへのアクセスを制御するセキュリティ記述子の更新バージョンを書き込みます。 セキュリティ記述子は、__SecurityDescriptor のインスタンスによって表されます。

Get9XUserList

Windows セキュリティ記述子によるアクセス制御を使用できない古いバージョンの Windows を実行しているコンピューターで、個々のユーザーの一覧に対するリモート アクセス権を取得します。

Set9XUserList

Windows セキュリティ記述子によるアクセス制御を使用できない古いバージョンの Windows を実行しているコンピューターで、個々のユーザーの一覧に対するリモート アクセス権を設定します。

スクリプトを記述する場合は、GetSecurityDescriptorSetSecurityDescriptor を使用します。 Win32_SecurityDescriptorHelper クラスの メソッドを使用して、セキュリティ記述子を変更できます。

C++ でプログラミングする場合は、セキュリティ記述子定義言語 (SDDL) と、変換メソッド ConvertSecurityDescriptorToStringSecurityDescriptor および ConvertStringSecurityDescriptorToSecurityDescriptor を使用してバイナリ セキュリティ記述子を操作できます。

Windows Vista 以降では、ユーザー アカウント制御 (UAC) は WMI データへのアクセスと、"WMI コントロール" で構成できる内容に影響することに注意してください。 詳細については、「ユーザー アカウント制御と WMI」を参照してください。

WMI 名前空間のセキュリティ保護

WMI セキュリティ定数

WMI 名前空間へのアクセス

WMI セキュリティ記述子オブジェクト