为一个计算机对象查询多个域

本文关键字:查询 对象 计算机 一个 | 更新日期: 2023-09-27 18:02:57

所以我有一些代码来查询特定计算机对象的多个域并将结果输出到csv。这是我的代码。

class Program
{
    static void Main(string[] args)
    {
        try
        {
            string log = "C:''Users''User''Desktop''New.csv";
            using (FileStream file = new FileStream(log, FileMode.Append, FileAccess.Write))
            {
                StreamWriter writer = new StreamWriter(file);
                var domains = File.ReadLines("C:''Users''User''Desktop''domains.csv");
                foreach (var line in domains)
                {
                    PrincipalContext AD = new PrincipalContext(ContextType.Domain, line.ToString());
                    ComputerPrincipal query = new ComputerPrincipal(AD);
                    query.Name = "COMPNAME";
                    PrincipalSearcher search = new PrincipalSearcher();
                    search.QueryFilter = query;
                    ComputerPrincipal result = (ComputerPrincipal)search.FindOne();
                    if (result != null)
                    {
                        writer.WriteLine(result.DistinguishedName);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
            Console.ReadLine();
        }
    }
}

domains.csv文件包含我们所有的10个域。result总是以null的形式出现。我错过了什么?

编辑:对不起,伙计们。代码运行良好。是写入器创建CSV失败

为一个计算机对象查询多个域

代码没有问题。是我的作家出了问题。我用这个

代替了我的作家
using (TextWriter writer = new StreamWriter(log))