Exemplo n.º 1
0
        public override void Validate()
        {
            base.Validate();
            DlpPolicyMetaData dlpPolicyMetaData = DlpPolicyParser.ParseDlpPolicyInstance(this.taskObject.TargetItem.TransportRulesXml);

            if (this.taskObject.Fields.IsModified("State"))
            {
                dlpPolicyMetaData.State = this.taskObject.State;
            }
            if (this.taskObject.Fields.IsModified("Mode"))
            {
                dlpPolicyMetaData.Mode = this.taskObject.Mode;
            }
            if (this.taskObject.TargetItem.IsModified(ADObjectSchema.Name))
            {
                dlpPolicyMetaData.Name = this.taskObject.TargetItem.Name;
            }
            if (this.taskObject.Fields.IsModified("Description"))
            {
                dlpPolicyMetaData.Description = this.taskObject.Description;
            }
            ADComplianceProgram adcomplianceProgram = dlpPolicyMetaData.ToAdObject();

            this.taskObject.TargetItem.State             = adcomplianceProgram.State;
            this.taskObject.TargetItem.Name              = adcomplianceProgram.Name;
            this.taskObject.TargetItem.Description       = adcomplianceProgram.Description;
            this.taskObject.TargetItem.TransportRulesXml = adcomplianceProgram.TransportRulesXml;
        }
Exemplo n.º 2
0
        public static void AddTenantDlpPolicy(IConfigDataProvider dataSession, DlpPolicyMetaData dlpPolicy, string organizationParameterValue, CmdletRunner cmdletRunner, out IEnumerable <PSObject> results)
        {
            results = null;
            ADComplianceProgram           adcomplianceProgram = dlpPolicy.ToAdObject();
            ADComplianceProgramCollection dlpPolicyCollection = DlpUtils.GetDlpPolicyCollection(dataSession, DlpUtils.TenantDlpPoliciesCollectionName);

            adcomplianceProgram.OrganizationId = dlpPolicyCollection.OrganizationId;
            adcomplianceProgram.SetId(dlpPolicyCollection.Id.GetChildId(dlpPolicy.Name));
            dataSession.Save(adcomplianceProgram);
            IEnumerable <string> enumerable    = Utils.AddOrganizationScopeToCmdlets(dlpPolicy.PolicyCommands, organizationParameterValue);
            string            domainController = null;
            ADSessionSettings sessionSettings  = null;
            MessagingPoliciesSyncLogDataSession messagingPoliciesSyncLogDataSession = dataSession as MessagingPoliciesSyncLogDataSession;

            if (messagingPoliciesSyncLogDataSession != null)
            {
                domainController = messagingPoliciesSyncLogDataSession.LastUsedDc;
                sessionSettings  = messagingPoliciesSyncLogDataSession.SessionSettings;
            }
            try
            {
                foreach (string cmdlet in enumerable)
                {
                    cmdletRunner.RunCmdlet(cmdlet, true);
                }
            }
            catch (ParseException e)
            {
                DlpUtils.HandleScriptExecutionError(adcomplianceProgram, DlpUtils.GetErrorHandlingDataSession(domainController, sessionSettings, dataSession), e);
            }
            catch (RuntimeException e2)
            {
                DlpUtils.HandleScriptExecutionError(adcomplianceProgram, DlpUtils.GetErrorHandlingDataSession(domainController, sessionSettings, dataSession), e2);
            }
            catch (CmdletExecutionException e3)
            {
                DlpUtils.HandleScriptExecutionError(adcomplianceProgram, DlpUtils.GetErrorHandlingDataSession(domainController, sessionSettings, dataSession), e3);
            }
        }