public void DoAction(SynchronizeContext synchronizeContext)
        {
            using (DirectoryEntry parentEntry = synchronizeContext.ADHelper.NewEntry(parentDn))
            {
                using (DirectoryEntry targetObject = SynchronizeHelper.GetSearchResultByID(this.targetObjectID).GetDirectoryEntry())
                {
                    try
                    {
                        targetObject.MoveTo(parentEntry);
                    }
                    catch (DirectoryServicesCOMException comEx)
                    {
                        switch (comEx.ErrorCode)
                        {
                        case -2147019886:
                            //重名
                            SynchronizeHelper.SolveConflictAboutMove(oguObject, targetObject, parentEntry);
                            break;

                        default:
                            WriteLog(synchronizeContext, comEx.Message);
                            break;
                        }
                    }
                }
            }
        }
Beispiel #2
0
 public void DoAction(SynchronizeContext context)
 {
     try
     {
         var result = SynchronizeHelper.GetSearchResultByID(context.ADHelper, this.adObjectID);
         using (System.DirectoryServices.DirectoryEntry ent = result.GetDirectoryEntry())
         {
             ent.Properties[this.adPropertyName].Value = oguObject.Properties[oguPropertyName];
             ent.CommitChanges();
         }
     }
     catch
     {
         this.WriteLog(context);
     }
 }
 public void DoAction(SynchronizeContext context)
 {
     try
     {
         var result = SynchronizeHelper.GetSearchResultByID(context.ADHelper, this.adObjectID);
         using (System.DirectoryServices.DirectoryEntry ent = result.GetDirectoryEntry())
         {
             ent.Rename(oguObject.ObjectType.SchemaTypeToPrefix() + "=" + ADHelper.EscapeString(oguObject.Name));
             ent.CommitChanges();
         }
     }
     catch
     {
         this.WriteLog(context);
     }
 }