- - PR -
C#で自分のアカウントが属するグループ名、SIDの取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-06-26 18:42
ドメインにログインしている環境で.NET C#を使って、
実行ユーザーのSIDや所属グループの名前とSIDを ActiveDirectoryから取得したいのです。 実行ユーザーのSIDはC#から記事 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17430&forum=7&2 などを参考に取得できましたが、 以下の紹介記事にあるような http://www.atmarkit.co.jp/fwin2k/tutor/winsecurity02/winsecurity02_02.html whoamiコマンドを実行して得られるのと同様の 属するグループ名とSIDをC#で取得する方法がわからずに困っております。 【例】 ドメイン名\dl0123456 S-1-5-21-505372016-1359435734-311576647-18456 数日間格闘しておりますが、一体どこのプロパティにグループのSIDがあるのか わからず、ご教授いただけたらと思います。 よろしくお願いいたします。 |
|
投稿日時: 2008-06-26 18:56
ユーザ名やドメイン名については、Environment.UserName と Environment.UserDomainName で取得できますね。
あとはそれを整形してあげればいいのではないかと。 |
|
投稿日時: 2008-06-26 23:53
ユーザの情報は DirectoryEntry.Properties.Item("プロパティ名").Value で取得します。
SID のプロパティ名は objectSid でデータ型は System.Byte[] 所属グループのプロパティ名は memberOf でデータ型は System.Object[] 所属グループは Object の配列です。各要素の中身はグループ名の LDAPパスなので その文字列からグループ名を抜き出せばいいと思います。 SID についてはグループやコンピュータもユーザと同様に(アカウントなので)取得できます。 |
|
投稿日時: 2008-07-02 09:54
>rainさま、mitchinさま、
レスありがとうございました。 ご意見参考にしまして、SID値を取得することができました。 そのうち、要点をまとめて掲載できればと思っております。 |
1