[DirectoryEntry][Tips] ログオン名からフルネームを取得する


DirectoryEntryコンポーネントを使用すると、ActiveDirectoryドメインサービス階層のノードやオブジェクトの操作を行うことができます。

今回は、ログオン名からフルネームを取得する例を紹介します。

この例では、Visual Studioのツールボックスのコンポーネント欄にあるDirectoryEntryコンポーネントを使用しています(DirectoryEntryクラスを使用しても同様の結果を得ることができます)。

ログオン名からフルネームを取得するには、最初にパス文字列を準備する必要があります。

WinNTプロバイダを使用する、”WinNT://ドメイン名/ログオン名”という文字列を作成し、DirectoryEntryのPathプロパティに設定します。

あとはフルネームを取得するだけとなります。DirectoryEntryのPropertiesプロパティに取得するオブジェクト名を指定することで、データを取得することができます。

たとえばフルネームは”FullName”という文字列を指定すれば取得することができるので、下記のようなコードを記述します。

VBの例

DirectoryEntry1.Properties("FullName").Value.ToString()

C#の例

directoryEntry1.Properties["FullName"].Value.ToString();

上記を踏まえて作成した、ログオン名からフルネームを取得する例は下記の通りです。

テキストボックスに入力されたドメイン名とログオン名からパスを作成し、フルネームを取得して表示します。

VBの例

' [フルネームの取得]ボタンクリック時の処理
Private Sub btnGetFullName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGetFullName.Click
    'パス文字列を作成する
    Dim path As String = "WinNT://" & txtDomain.Text + "/" & txtLogonName.Text

    'DirectoryEntryコントロールのPathプロパティにパスを設定
    DirectoryEntry1.Path = path

    '★★★フルネームを取得して表示する★★★
    txtFullName.Text = DirectoryEntry1.Properties("FullName").Value.ToString()
End Sub

C#の例

// [フルネームの取得]ボタンクリック時の処理
private void btnGetFullName_Click(object sender, EventArgs e)
{
    // パス文字列を作成する
    string path = "WinNT://" + txtDomain.Text + "/" + txtLogonName.Text;

    // DirectoryEntryコントロールのPathプロパティにパスを設定
    directoryEntry1.Path = path;

    // ★★★フルネームを取得して表示する★★★
    txtFullName.Text = directoryEntry1.Properties["FullName"].Value.ToString();
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください