• ベストアンサー

ユーザの所属するグループを取得する

現在ログオン中のユーザが所属するグループ名を取得することは可能でしょうか。 開発環境はVB.NETでOSはXPです。 ユーザ名はSystem.Environment.UserNameで取れることが分かったのですが、 そのユーザが属するグループが取れるのか分かりません。 ご存知の方、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1 です。失礼しました・・・ コレなんかはどうでしょうか? C# のコードみたいですけど。

参考URL:
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=17653&forum=7&1
undisclosed
質問者

お礼

ありがとうございます。 そっちの書込みも私のものです。(笑) どうも。

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

>それではうまくいかないですよねぇ。 ええっ? String型で"コンピュータ名\グループ名" でうまくいきますよ。 実際、 自分で作ったグループでIsInRoleで試してみましたが、 trueになりました。

undisclosed
質問者

お礼

マシンを再起動したらうまくいきました。 OKです。ばっちりです。 ありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#2の参考URLをみたんですけど、 あるグループに所属するかどうか調べたいだけなら 参考URLにも書かれている IsInRole("調べたいグループ名") を使って調べられると思います。 組み込みのグループ名は列挙体で得られるんですけど ユーザー定義のグループのリストの.NETでの取り出し方は、わかりません。 私も知りたいです。

undisclosed
質問者

お礼

String型で”コンピュータ名\グループ名”で渡せばいいと書いてあるのですが、それではうまくいかないですよねぇ。 わたしもそれ以上の情報が見つけられませんでした。 なにか分かったら教えてください。 ありがとうございました。

  • Azzuri
  • ベストアンサー率68% (34/50)
回答No.3

VB6の方法ですが記述します。 Active DS Type Libraryを参照設定します。 Dim dso As IADsOpenDSObject Dim User As IADsUser Dim username As String Dim username2 As String Dim Password As String Dim DomainName As String Dim group As IADsGroup username = "ユーザー名" username2 = "管理者ユーザー名" Password = "管理者パスワード" DomainName = "ドメイン名" Set dso = GetObject("WinNT:") Set User = dso.OpenDSObject("WinNT://" & DomainName & "/" & username & ",user", username2, Password, 1) For Each group In User.Groups List1.AddItem group.Name Next 以上で、リストボックスの中に所属するグループが 追加されると思います。

undisclosed
質問者

お礼

回答ありがとうございます。 VB6ならWIN32APIのNetLocalGroupGetMembersでとれるらしいです。 .NETは基本的にWIN32APIは使わないで済むとマニュアルにあったので、他の方法があるのではとおもって探しております。 ありがとうございました。

回答No.1

Environment.UserDomainNmae でも取れますし SystemInformation.UserDomainName でも取れますよ

undisclosed
質問者

お礼

回答ありがとうございます。 すみません、ドメイン名じゃなくて、グループ名が取りたいんです。Administratorsとか、PowerUsersとか。 全然回答がないところを見ると無理なのかな・・・。 ありがとうございました。

関連するQ&A

  • Windowsのログオンユーザーを取得するには

    VB.netでプログラムを組んでいるのですが、現在Windowsにログオンしているユーザー名を取得するにはどのような方法がありますでしょうか? よろしくお願いいたします。

  • 所属グループ取得方法

    こんにちは windows2003サーバーにて addusers_x86.exeを使い、各ユーザー、各グループは 取得できるのですが、 どのユーザーがどのグループに所属しているのか、 を知りたい場合、何か手段はありますでしょうか。

  • 所属グループについて

    Linux初心者です。 ユーザーが所属しているグループについて教えて下さいm(__)m。 ユーザー「nakamura」の所属グループを確認するのに以下のコマンドを打ちました。 ---------------------------------------------------------------- 1. <<コマンド>> cat /etc/group <<結果>> syomu:x:200: eigyo:x:300:nakamura 2. <<コマンド>> id nakamura <<結果>> uid=501(nakamura) gid=200(syomu) 所属グループ=200(syomu), 300(eigyo) context=user_u:system_r:unconfined_t ---------------------------------------------------------------- 以上の情報よりユーザー「nakamura」が所属するグループは、 「eigyo(300)」になるのでしょうか。 それとも 「syomu(200)」「eigyo(300)」になるのでしょうか? 宜しくお願い致します。

  • VB2005 ユーザ名の取得

    System.Windows.Forms.SystemInformation.UserName 上記で取得はできるのですが いったん作成したユーザ名を変更しても 最初に作成したユーザ名を取得してきます 変更したユーザ名を取得する方法はないのでしょうか?

  • ローカルユーザーへのグループの割り当てについて

    Windows系のOSで、ローカルユーザーに対するグループの割り当てについてお伺いします。 ローカルにあるユーザーが作成されていましたが、そのユーザーの"所属するグループ"を確認すると、Administratrosグループに所属しているのに、他のグループが所属されてるユーザーがありました。 Administratorsグループに所属しているのであれば、他のグループを割り当てても意味がないと思っておりましたが、割り当てたグループは意味を成すのでしょうか。 ご存知の方、よろしくお願いします。

  • ユーザー名の取得

    エクセルVBAで、ユーザー名(オプションの全般に表示されているもの)を取得することはできませんか?できるのなら教えてください。 (UserNameでは、出てきませんでした。) よろしくお願いします。

  • Access2000 ユーザー名の取得

    Access2000で、登録や編集した人をフィールドに記録したいのですが、 Windowsのログオンユーザーではなく、Access2000で登録しているユーザー名を取得することは可能なのでしょうか?(ツール→セキュリティ→ユーザー/グループのアカウントで登録したユーザー)

  • グループに所属するメンバがみえません。

    コンピュータの管理にてユーザーがグループに所属するか確認する際、「所属するメンバ」のメンバ名が表示されません。アイコンは表示されています。いったん、削除しようにも「アクセスエラー」となります。どなたか早急に教えて下さい。お願いします。

  • ASPでユーザのグループ名取得

    ASP.NETではない(レガシー)ASPで、ログインユーザのグループ名を取得したいと考えています。 ユーザの管理は、webサーバのローカルユーザで管理しており、 ユーザ名は「Request.ServerVariables("LOGON_USER")」で取得することができましたが、 グループ名を取得する方法がわかりませんでした。 ServerVariablesにはグループ名を管理するパラメータは無さそうなのですが、取得することはできるのでしょうか? まったく異なった方法でも良いので、ご存知の方がいらっしゃいましたら、ご教授願います。

  • OSを再インストールしましたが、起動するたびに「ユーザー環境」「ユーザ

    OSを再インストールしましたが、起動するたびに「ユーザー環境」「ユーザープロファイルを読み込みできませんでした。既定のシステムファイルでログオンしました。」と出ます。消す方法を教えてください。 OSは、XPホームエディションです。

専門家に質問してみよう