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); } }