Ejemplo n.º 1
0
    public ActiveDirectoryHandlerResults SetAccessRuleOnGroup(string identity, string principal, string type, string rights)
    {
        string planName = config.Plans.Group.SetAccessRule;

        AdAccessRule      rule = CreateAccessRule(principal, type, rights);
        StartPlanEnvelope pe   = GetPlanEnvelope(identity, rule);

        return(CallPlan(planName, pe));
    }
    public ActiveDirectoryHandlerResults RemoveAccessRuleFromOrgUnit(string identity, string principal, string type, string rights, string domain = null, string principaldomain = null, string inheritance = null)
    {
        string planName = config.Plans.OrganizationalUnit.RemoveAccessRule;

        AdAccessRule      rule = CreateAccessRule(BuildIdentity(principaldomain, principal), type, rights, inheritance);
        StartPlanEnvelope pe   = GetPlanEnvelope(BuildIdentity(domain, identity), rule);

        return(CallPlan(planName, pe));
    }
Ejemplo n.º 3
0
    public ActiveDirectoryHandlerResults PurgeAccessRulesOnGroup(string identity, string principal)
    {
        string planName = config.Plans.Group.PurgeAccessRules;

        AdAccessRule      rule = CreateAccessRule(principal, null, null);
        StartPlanEnvelope pe   = GetPlanEnvelope(identity, rule);

        return(CallPlan(planName, pe));
    }
    public ActiveDirectoryHandlerResults PurgeAccessRulesOnOrgUnit(string identity, string principal, string domain = null, string principaldomain = null)
    {
        string planName = config.Plans.OrganizationalUnit.PurgeAccessRules;

        AdAccessRule      rule = CreateAccessRule(BuildIdentity(principaldomain, principal), null, null, null);
        StartPlanEnvelope pe   = GetPlanEnvelope(BuildIdentity(domain, identity), rule);

        return(CallPlan(planName, pe));
    }
    public ActiveDirectoryHandlerResults SetAccessRuleOnComputer(string identity, string principal, string type, string rights, string domain = null, string principaldomain = null, string inheritance = null)
    {
        string planName = config.Plans.Computer.SetAccessRule;

        AdAccessRule      rule = CreateAccessRule(BuildIdentity(principaldomain, principal), type, rights, inheritance);
        StartPlanEnvelope pe   = GetPlanEnvelope(BuildIdentity(domain, identity), rule);

        return(CallPlan(planName, pe));
    }
Ejemplo n.º 6
0
    public ActiveDirectoryHandlerResults RemoveAccessRuleFromOrgUnit(string identity, string principal, string type, string rights)
    {
        string planName = config.Plans.OrganizationalUnit.RemoveAccessRule;

        AdAccessRule      rule = CreateAccessRule(principal, type, rights);
        StartPlanEnvelope pe   = GetPlanEnvelope(identity, rule);

        return(CallPlan(planName, pe));
    }
    // Manipulating Access Rules
    private StartPlanEnvelope GetPlanEnvelope(string identity, AdAccessRule rule)
    {
        StartPlanEnvelope pe = GetPlanEnvelope(identity);

        if (rule != null)
        {
            if (!string.IsNullOrWhiteSpace(rule.Identity))
            {
                pe.DynamicParameters.Add(@"ruleidentity", rule.Identity);
            }

            pe.DynamicParameters.Add(@"ruletype", rule.Type.ToString());
            pe.DynamicParameters.Add(@"rulerights", rule.Rights.ToString());
        }
        return(pe);
    }
    private AdAccessRule CreateAccessRule(string principal, string type, string rights)
    {
        AdAccessRule rule = new AdAccessRule()
        {
            Identity = principal
        };

        if (!String.IsNullOrWhiteSpace(type))
        {
            rule.Type = (AccessControlType)Enum.Parse(typeof(AccessControlType), type);
        }

        if (!String.IsNullOrWhiteSpace(rights))
        {
            rule.Rights = (ActiveDirectoryRights)Enum.Parse(typeof(ActiveDirectoryRights), rights);
        }

        return(rule);
    }