C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ログインユーザの名称を取得する方法


(過去ログ 13 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■3802 / inTopicNo.1)  ログインユーザの名称を取得する方法
  
□投稿者/ ↑↑↓↓←→←→BABA (1回)-(2007/05/23(Wed) 22:47:45)

分類:[C# (Windows)] 

いつもお世話になっております。

C#.NETにてログインユーザの名称の取得方法がわかりません。
OSログイン時に入力するユーザ名ではなくXPのスタートメニューの上部等に表示される名称です。
(ドメインサーバにて管理している名前?)

ご存知の方がおられましたらご教授願います。
引用返信 編集キー/
■3806 / inTopicNo.2)  Re[1]: ログインユーザの名称を取得する方法
□投稿者/ ちゃっぴ (23回)-(2007/05/24(Thu) 02:30:19)
ちゃっぴ さんの Web サイト
No3802 (↑↑↓↓←→←→BABA さん) に返信
> C#.NETにてログインユーザの名称の取得方法がわかりません。
> OSログイン時に入力するユーザ名ではなくXPのスタートメニューの上部等に表示される名称です。
> (ドメインサーバにて管理している名前?)

要は、AD の attribute でいうところの cn とか sAMAccountName とかじゃなく、displayName がほしいわけ?

WMI(System.Management) とか ADSI(System.DirectoryService) 使えばとれるのは知っていますけど、もっと楽なやり方がありそうですね。
引用返信 編集キー/
■3813 / inTopicNo.3)  Re[2]: ログインユーザの名称を取得する方法
□投稿者/ 七曜 (8回)-(2007/05/24(Thu) 12:21:43)
こんな感じでしょうか。
Namespaceの指定は以下の通り。
using System.Security.Principal;
using System.DirectoryServices;

ログイン名からユーザーオブジェクトを取得して、プロパティ値を参照します。
WindowsIdentity identity = WindowsIdentity.GetCurrent();
DirectoryEntry user = new DirectoryEntry("WinNT://" + identity.Name.Replace("\\", "/"));
MessageBox.Show(user.Properties["FullName"].Value.ToString());

引用返信 編集キー/
■3833 / inTopicNo.4)  Re[3]: ログインユーザの名称を取得する方法
□投稿者/ ↑↑↓↓←→←→BABA (2回)-(2007/05/24(Thu) 22:39:22)
No3813 (七曜 さん) に返信
> こんな感じでしょうか。
> Namespaceの指定は以下の通り。
> using System.Security.Principal;
> using System.DirectoryServices;
>
> ログイン名からユーザーオブジェクトを取得して、プロパティ値を参照します。
> WindowsIdentity identity = WindowsIdentity.GetCurrent();
> DirectoryEntry user = new DirectoryEntry("WinNT://" + identity.Name.Replace("\\", "/"));
> MessageBox.Show(user.Properties["FullName"].Value.ToString());
>

ちゃっぴさん、七曜さんありがとうございます。
七曜さんに記述頂いた内容で解決しました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -