为一个计算机对象查询多个域
本文关键字:查询 对象 计算机 一个 | 更新日期: 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))