Active Directory からユーザーのリストを取得するにはどうすればよいですか?
上記ページをご覧ください。ほとんどの質問に答えてくれましたが、コンピューターの最終ログオン時刻を取得しようとすると問題が発生します。そのようなオプションが見つからなかったので、まったく新しい質問をする代わりに、そのページにコメントする方法があれば申し訳ありません。
using (var context = new PrincipalContext(ContextType.Domain, "cat.pcsb.org"))
{
using (var searcher = new PrincipalSearcher(new ComputerPrincipal(context)))
{
foreach (var result in searcher.FindAll())
{
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
Console.WriteLine("Name: " + de.Properties["name"].Value);
Console.WriteLine("Last Logon Time: " + de.Properties["lastLogon"].Value);
Console.WriteLine();
}
}
}
Console.ReadLine();
UserPrincipal を ComputerPrincipal に置き換えました。名前とその他のいくつかのプロパティは正常に機能しますが、ログオンは機能しません。DateTime にキャストするなど、さまざまなことを試みましたが (キャストは失敗しました)、何も機能しませんでした。上記の結果は、System.__ComObject になります。では、最終ログオン時刻を正しく取得するにはどうすればよいでしょうか?