本文整理汇总了C#中System.DirectoryServices.DirectoryEntry.IsBounded方法的典型用法代码示例。如果您正苦于以下问题:C# DirectoryEntry.IsBounded方法的具体用法?C# DirectoryEntry.IsBounded怎么用?C# DirectoryEntry.IsBounded使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.DirectoryServices.DirectoryEntry
的用法示例。
在下文中一共展示了DirectoryEntry.IsBounded方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetPropertyValue
protected override void SetPropertyValue(IOguObject srcOguObject, string srcPropertyName, DirectoryEntry entry, string targetPropertyName, string context, SetterContext setterContext)
{
int userAccountControl = Convert.ToInt32(entry.Properties[targetPropertyName].Value); // 可能为null
int result = userAccountControl;
if (userAccountControl == 0 || entry.IsBounded() == false)
{
result = (int)(ADS_USER_FLAG.ADS_UF_NORMAL_ACCOUNT | ADS_USER_FLAG.ADS_UF_PASSWD_NOTREQD);
entry.Properties[targetPropertyName].Value = result;
setterContext["UACPropertySetter_LazySetProperties"] = true;
}
else
{
MergeUACValue(srcOguObject, srcPropertyName, entry, targetPropertyName, context);
}
}
示例2: SetPropertyValue
protected override void SetPropertyValue(IOguObject srcOguObject, string srcPropertyName, DirectoryEntry entry, string targetPropertyName, string context, SetterContext setterContext)
{
string srcPropertyValue = GetNormalizeddSourceValue(srcOguObject, srcPropertyName, context);
string targetPropertyValue = GetNormalizeddTargetValue(entry, targetPropertyName, context);
if (srcOguObject.FullPath == SynchronizeContext.Current.SourceRootPath)
{
srcPropertyValue = new PathPartEnumerator(SynchronizeContext.Current.TargetRootOU).Last(); //极其特别,不一定可靠,权限中心应限制更改这一组织的名称和位置。
}
else
{
string relativePath = SynchronizeHelper.GetRelativePath(srcOguObject);
if (relativePath.IndexOf('\\') < 0)
{
srcPropertyValue = SynchronizeContext.Current.GetMappedName(srcPropertyValue);
}
}
if (srcPropertyValue != targetPropertyValue && entry.IsBounded() == true)
{
TraceItHere(srcOguObject, srcPropertyName, entry, targetPropertyName, context, srcPropertyValue, targetPropertyValue);
entry.CommitChanges();
try
{
entry.Rename(srcOguObject.ObjectType.SchemaTypeToPrefix() + "=" + ADHelper.EscapeString(srcPropertyValue));
}
catch (DirectoryServicesCOMException ex)
{
if (ex.ErrorCode == -2147019886)
{
//对象已存在
entry.Rename(srcOguObject.ObjectType.SchemaTypeToPrefix() + "=TMP" + Environment.TickCount.ToString("X"));
SynchronizeContext.Current.DelayActions.Add(new DelayRenameAction(srcOguObject, entry.NativeGuid));
}
else
{
throw;
}
}
}
}