マシン上のローカル グループからグループ メンバーシップを検索するコードがあります。メンバーごとに、ユーザーに関する情報を読み込もうとします (たとえば、グループを見つけて、各メンバーの名前を取得します)。
コード:
using (DirectoryEntry machine = new DirectoryEntry("WinNT://" + Environment.MachineName + ", Computer"))
{
using (DirectoryEntry group = machine.Children.Find(groupName, "group"))
{
object members = group.Invoke("members", null);
foreach (object groupMember in (IEnumerable) members)
{
using (DirectoryEntry member = new DirectoryEntry(groupMember))
{
member.RefreshCache();
string name = member.Name;
// <code snipped>
}
}
}
}
ほとんどの場合、コードは問題なく動作しますが、一部のグループ メンバーでは、メソッドがスローされたFileNotFoundException
ときにがスローされます。RefreshCache()
System.IO.FileNotFoundException:
The filename, directory name, or volume label syntax is incorrect.
(Exception from HRESULT: 0x8007007B)
at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo()
at System.DirectoryServices.DirectoryEntry.RefreshCache()
at GroupLookup.GetLocalGroupMembership(String groupName)
何が原因ですかFileNotFoundException
(そして、どのファイルを探していますか)?