- - PR -
VS2003でアクティブディレクトリのプライマリグループの設定方法について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-10-25 20:28
VS.NET 2003 C#における
アクティブディレクトリのプライマリグループ設定方法の質問です。 環境としてアクティブディレクトリに「Domain Users」と「Group01」に所属するユーザがあり、プライマリグループが「Domain Users」となっています。 これをプログラム(VS.NET 2003 C#)で「Group01」にプライマリグループを設定する方法を教えて頂けないでしょうか。 「.NET Framework version 2.0 」では、「ObjectSecurity クラス」で出来そうな感じですが、 「VS.NET 2003 C#」のため「.NET Framework version 1.1」での実現方法をさがしております。 どなたかご教授頂けないでしょうか 宜しくお願いします。 |
|
投稿日時: 2006-10-26 00:30
こんばんは、takaと申します。
私もActiveDirectoryをプログラムから操作したことが無いので 確証はありませんが以下の名前空間のクラスを使えば可能かと思います。 [System.DirectoryServices] http://msdn2.microsoft.com/ja-jp/library/system.directoryservices.aspx ご参考になれば幸いです。 |
|
投稿日時: 2006-10-26 13:59
taka様、返答有難うございます。
私も詳しく無いなりに調べて、 MSDN ライブラリ > .NET 開発 > .NET Framework SDK > クラス ライブラリ リファレンス > System.DirectoryServices > ActiveDirectorySecurity クラス > ActiveDirectorySecurity メンバ [http://msdn2.microsoft.com/ja-jp/library/system.directoryservices.activedirectorysecurity_members.aspx] の 「ObjectSecurity.SetGroup メソッド 」を見つけたのですが、 「メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。」 になっているのです。 たとえ使えたしても今の私の知識では困難なため、 コーディングの形で教えていただけるとありがたいです。 どなたかご教授頂けないでしょうか 宜しくお願いします。 |
|
投稿日時: 2006-10-26 15:25
こんにちは。
ADSI を利用して IADsUser の Put メソッドで PrimaryGroupID 属性に「Group01」の RID を設定すれば実現するかもしれません。 また、この方法なら .Net Framework 1.1 でも実行できるはずです。 _________________ 上本亮介 (ue) @ わんくま同盟 Microsoft MVP for VSTO (Jul 2008 - Jun 2009) Hello Another World! .NET 勉強会 / ヒーロー島 |
|
投稿日時: 2006-10-26 19:59
ちなみに、プライマリグループにする目的は何でしょうか。
参考に教えて頂けますか。 当方では、現在、ADの構築中でして・・・ |
|
投稿日時: 2006-10-26 22:45
ue様、返答有難うございます。
ue様からの情報を参考に 既に登録済みのユーザのグループに対して以下のようにしたのですが、 「ディレクトリ サービスに指定された属性の構文が無効です。」となります。 adeContainer = new DirectoryEntry(ContainerPath, astrUserName, astrUserPasswd); DirectoryEntry deUser = adeContainer.Children.Find("CN="+astrUserName, "user"); object obRet = deUser.Invoke( "Put", new object[] { "PrimaryGroupID", astrGroupName } ); deUser.CommitChanges(); グループ(astrGroupName)の指定がまずい気がするのですが グループの RIDの取得はどのように行うのでしょうか? ご教授頂けないでしょうか |
1