/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; cfg.AdminContact = AdminContact; cfg.IsDirty = IsDirty; cfg.DeliveryWindow = DeliveryWindow; cfg.OTPProvider.TOTPShadows = TOTPShadows; cfg.MailProvider.Enabled = MailEnabled; cfg.ExternalProvider.Enabled = SMSEnabled; cfg.OTPProvider.Enabled = AppsEnabled; cfg.AzureProvider.Enabled = AzureEnabled; // cfg.BiometricsEnabled = false; cfg.DefaultPin = DefaultPin; cfg.PinLength = PinLength; cfg.OTPProvider.Algorithm = Algorithm; cfg.Issuer = Issuer; cfg.UseActiveDirectory = UseActiveDirectory; cfg.CustomUpdatePassword = CustomUpdatePassword; cfg.DefaultCountryCode = DefaultCountryCode; cfg.AdminContact = AdminContact; cfg.UserFeatures = UserFeatures; cfg.AdvertisingDays = AdvertisingDays; ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; AdminContact = cfg.AdminContact; IsDirty = cfg.IsDirty; DeliveryWindow = cfg.DeliveryWindow; TOTPShadows = cfg.OTPProvider.TOTPShadows; MailEnabled = cfg.MailProvider.Enabled; SMSEnabled = cfg.ExternalProvider.Enabled; AppsEnabled = cfg.OTPProvider.Enabled; AzureEnabled = cfg.AzureProvider.Enabled; BiometricsEnabled = false; DefaultPin = cfg.DefaultPin; PinLength = cfg.PinLength; Algorithm = cfg.OTPProvider.Algorithm; Issuer = cfg.Issuer; UseActiveDirectory = cfg.UseActiveDirectory; CustomUpdatePassword = cfg.CustomUpdatePassword; DefaultCountryCode = cfg.DefaultCountryCode; AdminContact = cfg.AdminContact; UserFeatures = cfg.UserFeatures; AdvertisingDays = cfg.AdvertisingDays; }
/// <summary> /// GetSIDsInformations method implmentation /// </summary> public static SIDsParametersRecord GetSIDsInformations(MFAConfig config) { // if (ClientSIDsProxy.Loaded) // return ClientSIDsProxy.Record; WebAdminClient manager = new WebAdminClient(); manager.Initialize(); try { IWebAdminServices client = manager.Open(); try { return(client.GetSIDsInformations(GetServers(config))); } catch (Exception) { return(new SIDsParametersRecord() { Loaded = false }); } finally { manager.Close(client); } } finally { manager.UnInitialize(); } }
/// <summary> /// GetAdministrativeACL method implmentation /// </summary> public static ACLParametersRecord GetAdministrativeACL(MFAConfig config) { WebAdminClient manager = new WebAdminClient(); try { manager.Initialize(); IWebAdminServices client = manager.Open(); try { return(client.GetAdministrativeACL(config.Hosts.ActiveDirectoryHost.DomainName, config.Hosts.ActiveDirectoryHost.Account, config.Hosts.ActiveDirectoryHost.Password, Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + Path.DirectorySeparatorChar + "MFA")); } catch (Exception) { manager.UnInitialize(); return(new ACLParametersRecord() { Loaded = false }); } finally { manager.Close(client); } } catch (Exception) { return(new ACLParametersRecord() { Loaded = false }); } }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementAdminService.Initialize(true); MFAConfig cfg = ManagementAdminService.ADFSManager.Config; cfg.AdminContact = AdminContact; cfg.IsDirty = IsDirty; cfg.RefreshScan = RefreshScan; cfg.DeliveryWindow = DeliveryWindow; cfg.TOTPShadows = TOTPShadows; cfg.MailEnabled = MailEnabled; cfg.SMSEnabled = SMSEnabled; cfg.AppsEnabled = AppsEnabled; cfg.Algorithm = Algorithm; cfg.Issuer = Issuer; cfg.UseActiveDirectory = UseActiveDirectory; cfg.CustomUpdatePassword = CustomUpdatePassword; cfg.DefaultCountryCode = DefaultCountryCode; cfg.AdminContact = AdminContact; cfg.UserFeatures = UserFeatures; cfg.AdvertisingDays = AdvertisingDays; ManagementAdminService.ADFSManager.WriteConfiguration(host); using (MailSlotClient mailslot = new MailSlotClient()) { mailslot.SendNotification(0xAA); } }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; SendMail mail = cfg.SendMail; cfg.IsDirty = IsDirty; mail.From = From; mail.UserName = UserName; mail.Password = Password; mail.Host = Host; mail.Port = Port; mail.UseSSL = UseSSL; mail.Company = Company; mail.MailOTPContent.Clear(); foreach (FlatConfigMailFileName itm in MailOTPContent) { mail.MailOTPContent.Add((SendMailFileName)itm); } mail.MailAdminContent.Clear(); foreach (FlatConfigMailFileName itm in MailAdminContent) { mail.MailAdminContent.Add((SendMailFileName)itm); } mail.MailKeyContent.Clear(); foreach (FlatConfigMailFileName itm in MailKeyContent) { mail.MailKeyContent.Add((SendMailFileName)itm); } ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// SetTemplate method implmentation /// </summary> public void SetTemplate(PSHost host, FlatTemplateMode mode) { ManagementService.Initialize(true); MFAConfig cfg = ManagementService.Config; switch (mode) { case FlatTemplateMode.Free: cfg.UserFeatures = (UserFeaturesOptions.BypassDisabled | UserFeaturesOptions.BypassUnRegistered | UserFeaturesOptions.AllowManageOptions | UserFeaturesOptions.AllowChangePassword); break; case FlatTemplateMode.Open: cfg.UserFeatures = (UserFeaturesOptions.BypassDisabled | UserFeaturesOptions.AllowUnRegistered | UserFeaturesOptions.AllowManageOptions | UserFeaturesOptions.AllowChangePassword); break; case FlatTemplateMode.Default: cfg.UserFeatures = (UserFeaturesOptions.AllowDisabled | UserFeaturesOptions.AllowUnRegistered | UserFeaturesOptions.AllowManageOptions | UserFeaturesOptions.AllowChangePassword); break; case FlatTemplateMode.Managed: cfg.UserFeatures = (UserFeaturesOptions.BypassDisabled | UserFeaturesOptions.AllowUnRegistered | UserFeaturesOptions.AllowProvideInformations | UserFeaturesOptions.AllowChangePassword); break; case FlatTemplateMode.Strict: cfg.UserFeatures = (UserFeaturesOptions.AllowProvideInformations); break; case FlatTemplateMode.Administrative: cfg.UserFeatures = (UserFeaturesOptions.AdministrativeMode); break; } ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// Initialize method implementation /// </summary> public void Initialize(MFAConfig config) { _cfg = config; _connectionstring = config.KeysConfig.ExternalKeyManager.Parameters.Data; _validity = config.KeysConfig.CertificateValidity; _ksize = config.KeysConfig.KeySize; _repos = new CustomKeysRepositoryService(_cfg); switch (_ksize) { case KeySizeMode.KeySize512: MAX_PROBE_LEN = 64; break; case KeySizeMode.KeySize1024: MAX_PROBE_LEN = 128; break; case KeySizeMode.KeySize2048: MAX_PROBE_LEN = 256; break; default: MAX_PROBE_LEN = 128; break; } }
/// <summary> /// Initialize method implementation /// </summary> public static void Initialize(MFAConfig config, AuthenticationContext context, Uri request) { WebThemesClient manager = new WebThemesClient(); manager.Initialize(); try { IWebThemeManager client = manager.Open(); try { WebThemesParametersRecord message = new WebThemesParametersRecord() { Identifier = context.ThemeIdentifier, LCID = context.Lcid }; var servernames = (from server in config.Hosts.ADFSFarm.Servers select(server.FQDN.ToLower(), server.NodeType.ToLower().Equals("primarycomputer"))); Dictionary <string, bool> dic = servernames.ToDictionary(pair => pair.Item1, pair => pair.Item2); string identifier = string.Empty; if (client.Initialize(dic, message, request.OriginalString, out identifier)) { context.ThemeIdentifier = identifier; } } finally { manager.Close(client); } } finally { manager.UnInitialize(); } }
/// <summary> /// UpgradeServersConfig method implementation (Client) /// </summary> private void UpgradeServersConfig(NamedPipeRegistryRecord reg) { NamedPipeRegistryRecord rec = FarmUtilities.InitServerNodeConfiguration(reg); MFAConfig cfg = CFGUtilities.ReadConfiguration(null); ADFSServerHost svr = null; if (cfg.Hosts.ADFSFarm.Servers.Exists(s => s.FQDN.ToLower().Equals(rec.FQDN.ToLower()))) { svr = cfg.Hosts.ADFSFarm.Servers.Find(s => s.FQDN.ToLower().Equals(rec.FQDN.ToLower())); cfg.Hosts.ADFSFarm.Servers.Remove(svr); } svr = new ADFSServerHost(); svr.FQDN = rec.FQDN; svr.CurrentVersion = rec.CurrentVersion; svr.CurrentBuild = rec.CurrentBuild; svr.CurrentMajorVersionNumber = rec.CurrentMajorVersionNumber; svr.CurrentMinorVersionNumber = rec.CurrentMinorVersionNumber; svr.InstallationType = rec.InstallationType; svr.ProductName = rec.ProductName; svr.NodeType = rec.NodeType; svr.BehaviorLevel = rec.BehaviorLevel; svr.HeartbeatTmeStamp = rec.HeartbeatTimestamp; cfg.Hosts.ADFSFarm.Servers.Add(svr); CFGUtilities.WriteConfiguration(null, cfg); using (MailSlotClient mailslot = new MailSlotClient()) { mailslot.Text = Environment.MachineName; mailslot.SendNotification(NotificationsKind.ConfigurationReload); } }
/// <summary> /// Initialize method implementation /// </summary> public static void Initialize(MFAConfig config) { WebAdminClient manager = new WebAdminClient(); try { manager.Initialize(); IWebAdminServices client = manager.Open(); try { var servernames = (from server in config.Hosts.ADFSFarm.Servers select(server.FQDN.ToLower(), server.NodeType.ToLower().Equals("primarycomputer"))); Dictionary <string, bool> dic = servernames.ToDictionary(pair => pair.Item1, pair => pair.Item2); client.Initialize(dic); } catch (Exception) { manager.UnInitialize(); return; } finally { manager.Close(client); } } catch (Exception) { return; } return; }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementAdminService.Initialize(true); MFAConfig cfg = ManagementAdminService.ADFSManager.Config; SendMail mail = cfg.SendMail; cfg.IsDirty = IsDirty; mail.From = From; mail.UserName = UserName; mail.Password = Password; mail.Host = Host; mail.Port = Port; mail.UseSSL = UseSSL; mail.Company = Company; mail.MailOTPContent.Clear(); foreach (MMCConfigMailFileName itm in MailOTPContent) { mail.MailOTPContent.Add((SendMailFileName)itm); } mail.MailAdminContent.Clear(); foreach (MMCConfigMailFileName itm in MailAdminContent) { mail.MailAdminContent.Add((SendMailFileName)itm); } mail.MailKeyContent.Clear(); foreach (MMCConfigMailFileName itm in MailKeyContent) { mail.MailKeyContent.Add((SendMailFileName)itm); } ManagementAdminService.ADFSManager.WriteConfiguration(host); using (MailSlotClient mailslot = new MailSlotClient()) { mailslot.SendNotification(0xAA); } }
/// <summary> /// ResetThemesList method implmentation /// </summary> public static void ResetThemesList(MFAConfig config) { WebThemesClient manager = new WebThemesClient(); manager.Initialize(); try { IWebThemeManager client = manager.Open(); try { var servernames = (from server in config.Hosts.ADFSFarm.Servers select(server.FQDN.ToLower(), server.NodeType.ToLower().Equals("primarycomputer"))); Dictionary <string, bool> dic = servernames.ToDictionary(s => s.Item1, s => s.Item2); client.ResetThemesList(dic); } finally { manager.Close(client); } } finally { manager.UnInitialize(); } }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; AdminContact = cfg.AdminContact; IsDirty = cfg.IsDirty; DeliveryWindow = cfg.DeliveryWindow; MaxRetries = cfg.MaxRetries; DefaultPin = cfg.DefaultPin; PinLength = cfg.PinLength; Issuer = cfg.Issuer; UseActiveDirectory = cfg.UseActiveDirectory; CustomUpdatePassword = cfg.CustomUpdatePassword; DefaultCountryCode = cfg.DefaultCountryCode; KeepMySelectedOptionOn = cfg.KeepMySelectedOptionOn; ChangeNotificationsOn = cfg.ChangeNotificationsOn; DefaultProviderMethod = cfg.DefaultProviderMethod; ReplayLevel = cfg.ReplayLevel; AdminContact = cfg.AdminContact; UserFeatures = cfg.UserFeatures; AdvertisingDays = (FlatConfigAdvertising)cfg.AdvertisingDays; UseUIPaginated = cfg.UseUIPaginated; UiKind = cfg.UiKind; }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementAdminService.Initialize(true); MFAConfig cfg = ManagementAdminService.ADFSManager.Config; ADDSHost adds = cfg.Hosts.ActiveDirectoryHost; cfg.IsDirty = IsDirty; adds.Account = Account; adds.Password = adds.Password; adds.DomainAddress = adds.DomainAddress; adds.keyAttribute = KeyAttribute; adds.mailAttribute = MailAttribute; adds.methodAttribute = MethodAttribute; adds.notifcheckdateattribute = NotifCheckDateAttribute; adds.notifcreatedateAttribute = NotifCreateDateAttribute; adds.notifvalidityAttribute = NotifValidityAttribute; adds.phoneAttribute = PhoneAttribute; adds.totpAttribute = TOTPAttribute; adds.totpEnabledAttribute = TOTPEnabledAttribute; ManagementAdminService.ADFSManager.WriteConfiguration(host); using (MailSlotClient mailslot = new MailSlotClient()) { mailslot.SendNotification(0xAA); } }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; SendMail mail = cfg.SendMail; IsDirty = cfg.IsDirty; From = mail.From; UserName = mail.UserName; Password = mail.Password; Host = mail.Host; Port = mail.Port; UseSSL = mail.UseSSL; Company = mail.Company; MailOTPContent.Clear(); foreach (SendMailFileName itm in mail.MailOTPContent) { MailOTPContent.Add((FlatConfigMailFileName)itm); } MailAdminContent.Clear(); foreach (SendMailFileName itm in mail.MailAdminContent) { MailAdminContent.Add((FlatConfigMailFileName)itm); } MailKeyContent.Clear(); foreach (SendMailFileName itm in mail.MailKeyContent) { MailKeyContent.Add((FlatConfigMailFileName)itm); } }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; cfg.AdminContact = AdminContact; cfg.IsDirty = IsDirty; cfg.DeliveryWindow = DeliveryWindow; cfg.MaxRetries = MaxRetries; cfg.DefaultPin = DefaultPin; cfg.PinLength = PinLength; cfg.Issuer = Issuer; cfg.UseActiveDirectory = UseActiveDirectory; cfg.CustomUpdatePassword = CustomUpdatePassword; cfg.KeepMySelectedOptionOn = KeepMySelectedOptionOn; cfg.ChangeNotificationsOn = ChangeNotificationsOn; cfg.DefaultProviderMethod = DefaultProviderMethod; cfg.ReplayLevel = ReplayLevel; cfg.DefaultCountryCode = DefaultCountryCode; cfg.AdminContact = AdminContact; cfg.UserFeatures = UserFeatures; cfg.AdvertisingDays = (ConfigAdvertising)AdvertisingDays; cfg.UiKind = UiKind; cfg.UseUIPaginated = UseUIPaginated; ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; MailProvider mail = cfg.MailProvider; IsDirty = cfg.IsDirty; Enabled = mail.Enabled; EnrollWizard = mail.EnrollWizard; EnrollWizardStrict = mail.EnrollWizardStrict; From = mail.From; UserName = mail.UserName; Password = mail.Password; Host = mail.Host; Port = mail.Port; UseSSL = mail.UseSSL; Company = mail.Company; PinRequired = mail.PinRequired; Anonymous = mail.Anonymous; MailOTPContent.Clear(); foreach (SendMailFileName itm in mail.MailOTPContent) { MailOTPContent.Add((FlatConfigMailFileName)itm); } MailAdminContent.Clear(); foreach (SendMailFileName itm in mail.MailAdminContent) { MailAdminContent.Add((FlatConfigMailFileName)itm); } MailKeyContent.Clear(); foreach (SendMailFileName itm in mail.MailKeyContent) { MailKeyContent.Add((FlatConfigMailFileName)itm); } }
/// <summary> /// SetTheme method implementation /// </summary> internal void SetTheme(PSHost host, int _kind, string _theme, bool _dynparam) { RegistryVersion reg = new RegistryVersion(); ManagementService.Initialize(true); MFAConfig cfg = ManagementService.Config; if (reg.IsWindows2019) { cfg.UiKind = (ADFSUserInterfaceKind)_kind; if ((ADFSUserInterfaceKind)_kind == ADFSUserInterfaceKind.Default) { cfg.UseUIPaginated = false; } else { cfg.UseUIPaginated = _dynparam; } ManagementService.ADFSManager.SetADFSTheme(host, _theme, cfg.UseUIPaginated, true); ManagementService.ADFSManager.WriteConfiguration(host); } else { cfg.UiKind = ADFSUserInterfaceKind.Default; cfg.UseUIPaginated = false; ManagementService.ADFSManager.SetADFSTheme(host, _theme, false, false); ManagementService.ADFSManager.WriteConfiguration(host); } }
/// <summary> /// Update method implmentation /// </summary> public override void Update(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; MailProvider mail = cfg.MailProvider; cfg.IsDirty = true; CheckUpdates(host); mail.Enabled = Enabled; mail.EnrollWizard = EnrollWizard; mail.ForceWizard = ForceWizard; mail.From = From; mail.UserName = UserName; mail.Password = Password; mail.Host = Host; mail.Port = Port; mail.UseSSL = UseSSL; mail.Company = Company; mail.PinRequired = PinRequired; mail.Anonymous = Anonymous; mail.DeliveryNotifications = DeliveryNotifications; mail.FullQualifiedImplementation = FullQualifiedImplementation; mail.Parameters.Data = Parameters; mail.AllowedDomains.Clear(); foreach (string itm in AllowedDomains.Domains) { mail.AllowedDomains.Add(itm); } mail.BlockedDomains.Clear(); foreach (string itm in BlockedDomains.Domains) { mail.BlockedDomains.Add(itm); } mail.MailOTPContent.Clear(); foreach (FlatConfigMailFileName itm in MailOTPContent) { mail.MailOTPContent.Add((SendMailFileName)itm); } mail.MailAdminContent.Clear(); foreach (FlatConfigMailFileName itm in MailAdminContent) { mail.MailAdminContent.Add((SendMailFileName)itm); } mail.MailKeyContent.Clear(); foreach (FlatConfigMailFileName itm in MailKeyContent) { mail.MailKeyContent.Add((SendMailFileName)itm); } mail.MailNotifications.Clear(); foreach (FlatConfigMailFileName itm in MailNotifications) { mail.MailNotifications.Add((SendMailFileName)itm); } ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// GetServers method implementation /// </summary> private static Dictionary <string, bool> GetServers(MFAConfig config) { var servernames = (from server in config.Hosts.ADFSFarm.Servers select(server.FQDN.ToLower(), server.NodeType.ToLower().Equals("primarycomputer"))); Dictionary <string, bool> servers = servernames.ToDictionary(s => s.Item1, s => s.Item2); return(servers); }
/// <summary> /// SetLibraryVersion method implementation /// </summary> internal void SetLibraryVersion(PSHost host, int version) { ManagementService.Initialize(true); MFAConfig cfg = ManagementService.Config; cfg.KeysConfig.KeyVersion = (SecretKeyVersion)version; ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// SetPolicyTemplate method implmentation /// </summary> public void SetPolicyTemplate(PSHost host, FlatTemplateMode mode) { ManagementService.Initialize(true); MFAConfig cfg = ManagementService.Config; UserTemplateMode md = (UserTemplateMode)mode; cfg.UserFeatures = cfg.UserFeatures.SetPolicyTemplate(md); ManagementService.ADFSManager.WriteConfiguration(host); }
public void Load(PSHost host) { ManagementAdminService.Initialize(host, true); MFAConfig cfg = ManagementAdminService.ADFSManager.ReadConfiguration(host); MFAKeysConfig otp = cfg.KeysConfig; this.FullQualifiedImplementation = otp.ExternalKeyManager.FullQualifiedImplementation; this.Parameters = otp.ExternalKeyManager.Parameters; }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementAdminService.Initialize(host, true); MFAConfig cfg = ManagementAdminService.ADFSManager.ReadConfiguration(host); SQLServerHost sql = cfg.Hosts.SQLServerHost; IsDirty = cfg.IsDirty; ConnectionString = sql.ConnectionString; }
/// <summary> /// ConfigurationControl Constructor /// </summary> public GeneralConfigurationControl(MFAConfig cfg, bool isrunning = true, bool isactive = true) { _cfg = cfg; _panel = new Panel(); _txtpanel = new Panel(); Initialize(isrunning, isactive); BackColor = System.Drawing.SystemColors.Window; AutoSize = false; }
/// <summary> /// Update method implmentation /// </summary> public void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; SQLServerHost sql = cfg.Hosts.SQLServerHost; IsDirty = cfg.IsDirty; ConnectionString = sql.ConnectionString; }
/// <summary> /// Update method implmentation /// </summary> public void Update(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; ADDSHost adds = cfg.Hosts.ActiveDirectoryHost; cfg.IsDirty = IsDirty; adds.Account = Account; adds.Password = adds.Password; adds.DomainAddress = adds.DomainAddress; if (!ManagementService.CheckRepositoryAttribute(KeyAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", KeyAttribute)); } adds.keyAttribute = KeyAttribute; if (!ManagementService.CheckRepositoryAttribute(MailAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", MailAttribute)); } adds.mailAttribute = MailAttribute; if (!ManagementService.CheckRepositoryAttribute(MethodAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", MethodAttribute)); } adds.methodAttribute = MethodAttribute; if (!ManagementService.CheckRepositoryAttribute(NotifCheckDateAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", NotifCheckDateAttribute)); } adds.notifcheckdateattribute = NotifCheckDateAttribute; if (!ManagementService.CheckRepositoryAttribute(NotifCreateDateAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", NotifCreateDateAttribute)); } adds.notifcreatedateAttribute = NotifCreateDateAttribute; if (!ManagementService.CheckRepositoryAttribute(NotifValidityAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", NotifValidityAttribute)); } adds.notifvalidityAttribute = NotifValidityAttribute; if (!ManagementService.CheckRepositoryAttribute(PhoneAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", PhoneAttribute)); } adds.phoneAttribute = PhoneAttribute; if (!ManagementService.CheckRepositoryAttribute(TOTPAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", TOTPAttribute)); } adds.totpAttribute = TOTPAttribute; if (!ManagementService.CheckRepositoryAttribute(TOTPEnabledAttribute, 1)) { throw new ArgumentException(string.Format("Attribute {0} not found in forest schema !", TOTPEnabledAttribute)); } adds.totpEnabledAttribute = TOTPEnabledAttribute; ManagementService.ADFSManager.WriteConfiguration(host); }
/// <summary> /// Update method implmentation /// </summary> public override void Load(PSHost host) { ManagementService.Initialize(host, true); MFAConfig cfg = ManagementService.Config; MailProvider mail = cfg.MailProvider; IsDirty = cfg.IsDirty; Enabled = mail.Enabled; EnrollWizard = mail.EnrollWizard; ForceWizard = mail.ForceWizard; From = mail.From; UserName = mail.UserName; Password = mail.Password; Host = mail.Host; Port = mail.Port; UseSSL = mail.UseSSL; Company = mail.Company; PinRequired = mail.PinRequired; Anonymous = mail.Anonymous; DeliveryNotifications = mail.DeliveryNotifications; FullQualifiedImplementation = mail.FullQualifiedImplementation; Parameters = mail.Parameters.Data; AllowedDomains.Clear(); foreach (string itm in mail.AllowedDomains) { AllowedDomains.AddDomain(itm); } BlockedDomains.Clear(); foreach (string itm in mail.BlockedDomains) { BlockedDomains.AddDomain(itm); } MailOTPContent.Clear(); foreach (SendMailFileName itm in mail.MailOTPContent) { MailOTPContent.Add((FlatConfigMailFileName)itm); } MailAdminContent.Clear(); foreach (SendMailFileName itm in mail.MailAdminContent) { MailAdminContent.Add((FlatConfigMailFileName)itm); } MailKeyContent.Clear(); foreach (SendMailFileName itm in mail.MailKeyContent) { MailKeyContent.Add((FlatConfigMailFileName)itm); } MailNotifications.Clear(); foreach (SendMailFileName itm in mail.MailNotifications) { MailNotifications.Add((FlatConfigMailFileName)itm); } }
/// <summary> /// ExportMailTemplates method implementation /// </summary> public static bool ExportMailTemplates(MFAConfig config, int lcid, Dictionary <string, string> data) { bool done = false; try { WebAdminClient manager = new WebAdminClient(); try { manager.Initialize(); IWebAdminServices client = manager.Open(); try { done = client.ExportMailTemplates(GetServers(config), CFGReaderUtilities.GetCryptedConfig(config), lcid, data); } finally { manager.Close(client); } } finally { manager.UnInitialize(); } if (done) { char sep = Path.DirectorySeparatorChar; string htmlpath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + sep + "MFA" + sep + "MailTemplates" + sep + lcid.ToString(); MailProvider mailprov = config.MailProvider; if (!mailprov.MailOTPContent.Exists(c => c.LCID.Equals(lcid))) { mailprov.MailOTPContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailOTPContent.html")); } if (!mailprov.MailKeyContent.Exists(c => c.LCID.Equals(lcid))) { mailprov.MailKeyContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailKeyContent.html")); } if (!mailprov.MailAdminContent.Exists(c => c.LCID.Equals(lcid))) { mailprov.MailAdminContent.Add(new SendMailFileName(lcid, htmlpath + sep + "MailAdminContent.html")); } if (!mailprov.MailNotifications.Exists(c => c.LCID.Equals(lcid))) { mailprov.MailNotifications.Add(new SendMailFileName(lcid, htmlpath + sep + "MailNotifications.html")); } } return(done); } catch { return(false); } }