示例#1
0
 public override void Validate()
 {
     if (this.dataObject.FileData == null)
     {
         this.dataObject.WriteError(new ArgumentException(Strings.ImportDlpPolicyFileDataIsNull), ErrorCategory.InvalidArgument, "FileData");
     }
     try
     {
         this.templates = DlpUtils.LoadDlpPolicyTemplates(this.dataObject.FileData);
     }
     catch (Exception ex)
     {
         if (!this.IsKnownException(ex))
         {
             throw;
         }
         this.dataObject.WriteError(ex, ErrorCategory.InvalidOperation, null);
     }
     using (IEnumerator <ADComplianceProgram> enumerator = DlpUtils.GetOutOfBoxDlpTemplates(base.DataSession).GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ADComplianceProgram dlpPolicyTemplate = enumerator.Current;
             if (this.templates.Any((DlpPolicyTemplateMetaData a) => a.Name == dlpPolicyTemplate.Name))
             {
                 this.dataObject.WriteError(new ArgumentException(Strings.ErrorDlpPolicyTemplateAlreadyInstalled(dlpPolicyTemplate.Name)), ErrorCategory.InvalidArgument, "FileData");
             }
         }
     }
 }
示例#2
0
        internal static DlpPolicyTemplateMetaData LoadOutOfBoxDlpTemplate(Fqdn domainController, string templateName)
        {
            IConfigDataProvider dataSession         = DlpUtils.CreateOrgSession(domainController);
            ADComplianceProgram adcomplianceProgram = DlpUtils.GetOutOfBoxDlpTemplates(dataSession, templateName).FirstOrDefault <ADComplianceProgram>();

            if (adcomplianceProgram != null)
            {
                return(DlpPolicyParser.ParseDlpPolicyTemplate(adcomplianceProgram.TransportRulesXml));
            }
            return(null);
        }
 public override void Validate()
 {
     if (this.taskObject.Identity == null)
     {
         this.taskObject.WriteError(new ArgumentException(Strings.ErrorInvalidDlpPolicyTemplateIdentity, RemoveDlpPolicyImpl.Identity), ErrorCategory.InvalidArgument, this.taskObject.Identity);
         return;
     }
     if (!DlpUtils.GetOutOfBoxDlpTemplates(base.DataSession, this.taskObject.Identity.ToString()).Any <ADComplianceProgram>())
     {
         this.taskObject.WriteError(new ArgumentException(Strings.ErrorDlpPolicyTemplateIsNotInstalled(this.taskObject.Identity.ToString())), ErrorCategory.InvalidArgument, this.taskObject.Identity);
     }
 }
        public void WriteResult(IEnumerable <ADComplianceProgram> tenantDlpPolicyTemplates, GetDlpPolicy.WriteDelegate writeDelegate)
        {
            IEnumerable <ADComplianceProgram> outOfBoxDlpTemplates;

            if (this.taskObject.Identity == null)
            {
                outOfBoxDlpTemplates = DlpUtils.GetOutOfBoxDlpTemplates(base.DataSession);
            }
            else
            {
                outOfBoxDlpTemplates = DlpUtils.GetOutOfBoxDlpTemplates(base.DataSession, this.taskObject.Identity.ToString());
            }
            foreach (ADComplianceProgram dlpPolicy in outOfBoxDlpTemplates)
            {
                writeDelegate(new DlpPolicyTemplate(dlpPolicy, this.taskObject.CommandRuntime.Host.CurrentCulture));
            }
        }
示例#5
0
        public static void DeleteOutOfBoxDlpPolicy(IConfigDataProvider dataSession, string templateName)
        {
            ADComplianceProgram instance = DlpUtils.GetOutOfBoxDlpTemplates(dataSession, templateName).FirstOrDefault <ADComplianceProgram>();

            dataSession.Delete(instance);
        }
示例#6
0
        public static void DeleteOutOfBoxDlpPolicies(IConfigDataProvider dataSession)
        {
            List <ADComplianceProgram> list = DlpUtils.GetOutOfBoxDlpTemplates(dataSession).ToList <ADComplianceProgram>();

            list.ForEach(new Action <ADComplianceProgram>(dataSession.Delete));
        }