上司が現在使用している古い VBS を置き換える新しいプログラムを作成しています。
そのため、プログラムは AD に入り、すべての従業員の名前とその電子メール アドレスを収集することになっています。私の問題は、各ユーザーに約 60 個のプロパティが割り当てられていることですが、私のプログラムは 32 個のフィールドしか取り込んでおらず、そのうちの 1 つは必要な CN の半分です。もちろん、メールはインポートされるプロパティの 1 つではありません。また、デバッグ中に気付いたのは、ロングアイランドの支店から従業員を連れてくるだけで、どこからでも連れてくるのではなく、理由がわかりません。どんな助けでも大歓迎です!! =D
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices;
using Microsoft.Office.Interop.Excel;
using System.DirectoryServices.ActiveDirectory;
namespace EmailListing
{
class Program
{
static void Main(string[] args)
{
DirectoryEntry adFolderObject = new DirectoryEntry("LDAP://OU=PHF Users,DC=phf,DC=inc");
DirectorySearcher adSearchObject = new DirectorySearcher(adFolderObject);
adSearchObject.SearchScope = SearchScope.Subtree;
adSearchObject.Filter = "(&(ObjectClass=user)(!description=Built-in*))";
foreach (SearchResult adObject in adSearchObject.FindAll())
{
//mail = adObject.Properties["mail"].ToString();
Console.Write(adObject.Properties["cn"][0]);
Console.Write(". ");
//Console.WriteLine(mail);
}
Console.WriteLine();
Console.ReadLine();
}
}
}