gpt4 book ai didi

C# 尝试创建带空格的组织单位时出错

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:24 25 4
gpt4 key购买 nike

所以我有一个程序需要在另一个OU下添加一个新的组织单元。格式必须与下面代码中的一样。问题是,如果我在名称中加入空格,我会不断收到相同的异常。我可以手动添加带空格的 OU。我在这里做错了什么?

代码如下:

        string ou = "OU=" + "New Company 99999";

try
{
if (DirectoryEntry.Exists("LDAP://" + ou + ",OU=MainOrganizationalUnit,DC=domain,DC=com"))
{
MessageBox.Show(ou + " exists.");
}
else
{
MessageBox.Show(ou + " does not exist. Creating...");

using (DirectoryEntry entry = new DirectoryEntry("LDAP://OU=MainOrganizationalUnit,DC=domain,DC=com"))
{
using (DirectorySearcher searcher = new DirectorySearcher(entry))
{
searcher.Filter = "(" + ou + ")";
searcher.SearchScope = SearchScope.Subtree;
SearchResult result = searcher.FindOne();

if (result == null)
{
/* OU Creation */
DirectoryEntry de = entry.Children.Add(ou, "organizationalUnit");
de.Properties["description"].Value = "This is a Test";
de.CommitChanges();
}
}
}
}
}
catch (Exception Ex)
{
LogWriter.Exception(Ex);
}

当我运行这段代码时,我记录了以下错误:System.DirectoryServices.DirectoryServicesCOMException (0x80072037): 存在命名冲突。

在 System.DirectoryServices.DirectoryEntry.CommitChanges()在 MyProgram.MyStaticClass.function()

最佳答案

重命名 OU 似乎不是理想的解决方案。只需尝试使用反斜杠转义空格

string ou = "OU=" + "New\\ Company\\ 99999"; 

This article显示将 LDAP 与 AD 结合使用时必须转义的字符。

关于C# 尝试创建带空格的组织单位时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com