public override void ProcessRecord() { if (!this.dataObject.Force && !base.ShouldContinue(Strings.PromptToOverwriteDlpPoliciesOnImport)) { return; } ADRuleStorageManager adruleStorageManager = new ADRuleStorageManager(Utils.RuleCollectionNameFromRole(), base.DataSession); adruleStorageManager.LoadRuleCollection(); foreach (TransportRuleHandle transportRuleHandle in adruleStorageManager.GetRuleHandles()) { Guid guid; if (transportRuleHandle.Rule.TryGetDlpPolicyId(out guid)) { base.DataSession.Delete(transportRuleHandle.AdRule); } } DlpUtils.GetInstalledTenantDlpPolicies(base.DataSession).ToList <ADComplianceProgram>().ForEach(new Action <ADComplianceProgram>(base.DataSession.Delete)); List <DlpPolicyMetaData> list = DlpUtils.LoadDlpPolicyInstances(this.dataObject.FileData).ToList <DlpPolicyMetaData>(); foreach (DlpPolicyMetaData dlpPolicy in list) { IEnumerable <PSObject> enumerable; DlpUtils.AddTenantDlpPolicy(base.DataSession, dlpPolicy, Utils.GetOrganizationParameterValue(this.dataObject.Fields), new CmdletRunner(DlpPolicyTemplateMetaData.AllowedCommands, DlpPolicyTemplateMetaData.RequiredParams, null), out enumerable); } }
private void WriteFormattedRules() { ADRuleStorageManager ruleStorageManager = base.RuleStorageManager; ruleStorageManager.LoadRuleCollection(); IEnumerable <TransportRuleHandle> ruleHandles = ruleStorageManager.GetRuleHandles(); List <Rule> list = new List <Rule>(); foreach (TransportRuleHandle transportRuleHandle in ruleHandles) { string text = null; try { Rule rule = Rule.CreateFromInternalRule(this.supportedPredicates, this.supportedActions, transportRuleHandle.Rule, transportRuleHandle.AdRule.Priority, transportRuleHandle.AdRule); if (base.NeedSuppressingPiiData) { rule.SuppressPiiData(Utils.GetSessionPiiMap(base.ExchangeRunspaceConfig)); } list.Add(rule); } catch (ArgumentException ex) { text = ex.Message; } catch (InvalidOperationException ex2) { text = ex2.Message; } catch (ParserException ex3) { text = ex3.Message; } catch (RulesValidationException ex4) { text = ex4.Message; } if (text != null) { base.WriteWarning(Strings.ErrorObjectHasValidationErrorsWithId(transportRuleHandle.AdRule.Identity.ToString()) + " " + text); } } this.WriteResult(new BinaryFileDataObject { FileData = PowershellTransportRuleSerializer.Serialize(list) }); }
internal static IEnumerable <TransportRuleHandle> GetTransportRuleHandles(IConfigDataProvider dataSession, out ADRuleStorageManager ruleStorageManager) { ruleStorageManager = new ADRuleStorageManager(Utils.RuleCollectionNameFromRole(), dataSession); ruleStorageManager.LoadRuleCollection(); return(ruleStorageManager.GetRuleHandles()); }