[ad#ad-336×280]
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();
}
Please follow and like us:


コメント