public ActiveDirectoryHandlerResults ModifyComputer(string identity, AdComputer computer, string domain = null)
    {
        string            planName = config.Plans.Computer.Modify;
        StartPlanEnvelope pe       = GetPlanEnvelope(BuildIdentity(domain, identity), computer);

        return(CallPlan(planName, pe));
    }
    // Create and Modify Organizational Unit By DistinguishedName
    private StartPlanEnvelope GetPlanEnvelope(string identity, AdComputer computer)
    {
        StartPlanEnvelope pe = GetPlanEnvelope(identity);

        if (computer != null)
        {
            if (!string.IsNullOrWhiteSpace(computer.Name))
            {
                pe.DynamicParameters.Add(@"name", computer.Name);
            }
            if (!string.IsNullOrWhiteSpace(computer.Description))
            {
                pe.DynamicParameters.Add(@"description", computer.Description);
            }
            if (computer.ManagedBy != null)
            {
                pe.DynamicParameters.Add(@"managedby", computer.ManagedBy);
            }

            AddPropertiesToPlan(pe, computer.Properties);
        }
        return(pe);
    }