public SqlServerInstanceProvider(ILogger <SqlServerInstanceProvider> logger, DatabaseConfigurationOptions highAvailabilityOptions, IAmsLicenseManager licenseManager, IWindowsServiceProvider windowsServiceProvider)
 {
     this.logger = logger;
     this.highAvailabilityOptions = highAvailabilityOptions;
     this.licenseManager          = licenseManager;
     this.windowsServiceProvider  = windowsServiceProvider;
 }
Beispiel #2
0
        public HighAvailabilityViewModel(IDialogCoordinator dialogCoordinator, IShellExecuteProvider shellExecuteProvider, IAmsLicenseManager licenseManager, ILogger <HighAvailabilityViewModel> logger, INotifyModelChangedEventPublisher eventPublisher, DatabaseConfigurationOptions highAvailabilityOptions, DataProtectionOptions dataProtectionOptions, ICertificateSynchronizationProvider certSyncProvider, ISecretRekeyProvider rekeyProvider, SqlServerInstanceProvider sqlInstanceProvider, IScriptTemplateProvider scriptTemplateProvider, IWindowsServiceProvider windowsServiceProvider)
        {
            this.shellExecuteProvider = shellExecuteProvider;
            this.licenseManager       = licenseManager;
            this.logger                 = logger;
            this.dbOptions              = highAvailabilityOptions;
            this.dataProtectionOptions  = dataProtectionOptions;
            this.certSyncProvider       = certSyncProvider;
            this.dialogCoordinator      = dialogCoordinator;
            this.rekeyProvider          = rekeyProvider;
            this.sqlInstanceProvider    = sqlInstanceProvider;
            this.scriptTemplateProvider = scriptTemplateProvider;
            this.windowsServiceProvider = windowsServiceProvider;

            this.licenseManager.OnLicenseDataChanged += delegate
            {
                this.NotifyOfPropertyChange(nameof(this.IsEnterpriseEdition));
                this.NotifyOfPropertyChange(nameof(this.ShowEnterpriseEditionBanner));
            };

            this.DisplayName = "High availability";
            eventPublisher.Register(this);

            this.isClusterCompatibleSecretEncryptionEnabled = this.dataProtectionOptions.EnableClusterCompatibleSecretEncryption;
        }
Beispiel #3
0
 public BitLockerViewModel(IDialogCoordinator dialogCoordinator, IWindowsServiceProvider windowsServiceProvider, IShellExecuteProvider shellExecuteProvider, IScriptTemplateProvider scriptTemplateProvider)
 {
     this.shellExecuteProvider   = shellExecuteProvider;
     this.scriptTemplateProvider = scriptTemplateProvider;
     this.dialogCoordinator      = dialogCoordinator;
     this.windowsServiceProvider = windowsServiceProvider;
     this.DisplayName            = "BitLocker";
 }
Beispiel #4
0
 public ProtectedSecretProvider(IEncryptionProvider encryptionProvider, ICertificateProvider certificateProvider, RandomNumberGenerator rng, IOptions <DataProtectionOptions> dataProtectionOptions, IWindowsServiceProvider windowsServiceProvider, IAmsLicenseManager licenseManager)
 {
     this.encryptionProvider  = encryptionProvider;
     this.certificateProvider = certificateProvider;
     this.rng = rng;
     this.dataProtectionOptions  = dataProtectionOptions.Value;
     this.windowsServiceProvider = windowsServiceProvider;
     this.licenseManager         = licenseManager;
 }
 public ImportWizardImportContainerViewModel(ILogger <ImportWizardImportContainerViewModel> logger, IDialogCoordinator dialogCoordinator, IModelValidator <ImportWizardImportContainerViewModel> validator, IObjectSelectionProvider objectSelectionProvider, IDiscoveryServices discoveryServices, IDirectory directory, IWindowsServiceProvider windowsServiceProvider, IShellExecuteProvider shellExecuteProvider)
 {
     this.logger                  = logger;
     this.dialogCoordinator       = dialogCoordinator;
     this.discoveryServices       = discoveryServices;
     this.objectSelectionProvider = objectSelectionProvider;
     this.directory               = directory;
     this.Validator               = validator;
     this.windowsServiceProvider  = windowsServiceProvider;
     this.shellExecuteProvider    = shellExecuteProvider;
     this.Initialization          = this.Initialize();
 }
        public ActiveDirectoryConfigurationViewModel(IActiveDirectoryForestSchemaViewModelFactory forestFactory, IActiveDirectoryDomainPermissionViewModelFactory domainFactory, IDialogCoordinator dialogCoordinator, IWindowsServiceProvider windowsServiceProvider, ILogger <ActiveDirectoryConfigurationView> logger, IShellExecuteProvider shellExecuteProvider, IDomainTrustProvider domainTrustProvider, IScriptTemplateProvider scriptTemplateProvider)
        {
            this.dialogCoordinator      = dialogCoordinator;
            this.domainFactory          = domainFactory;
            this.forestFactory          = forestFactory;
            this.windowsServiceProvider = windowsServiceProvider;
            this.shellExecuteProvider   = shellExecuteProvider;
            this.domainTrustProvider    = domainTrustProvider;
            this.scriptTemplateProvider = scriptTemplateProvider;
            this.DisplayName            = "Active Directory";

            this.Forests = new BindableCollection <ActiveDirectoryForestSchemaViewModel>();
            this.Domains = new BindableCollection <ActiveDirectoryDomainPermissionViewModel>();
        }
        public MainWindowViewModel(IApplicationConfig model, AuthenticationViewModel authentication, AuthorizationViewModel authorization, UserInterfaceViewModel ui, RateLimitsViewModel rate, IpDetectionViewModel ip,
                                   AuditingViewModel audit, EmailViewModel mail, HostingViewModel hosting, ActiveDirectoryConfigurationViewModel ad,
                                   JitConfigurationViewModel jit, LapsConfigurationViewModel laps, HelpViewModel help, BitLockerViewModel bitLocker, LicensingViewModel lic, HighAvailabilityViewModel havm, IEventAggregator eventAggregator, IDialogCoordinator dialogCoordinator, ILogger <MainWindowViewModel> logger, IShellExecuteProvider shellExecuteProvider, IWindowsServiceProvider windowsServiceProvider, IRegistryProvider registryProvider, ICertificateSynchronizationProvider certSyncProvider, IAmsLicenseManager licenseManager, IClusterProvider clusterProvider)
        {
            this.model = model;
            this.shellExecuteProvider = shellExecuteProvider;
            this.logger                 = logger;
            this.dialogCoordinator      = dialogCoordinator;
            this.windowsServiceProvider = windowsServiceProvider;
            this.hosting                = hosting;
            this.registryProvider       = registryProvider;
            this.eventAggregator        = eventAggregator;
            this.certSyncProvider       = certSyncProvider;
            this.dialogCoordinator      = dialogCoordinator;
            this.licenseManager         = licenseManager;
            this.clusterProvider        = clusterProvider;
            this.clusterWaitSemaphore   = new SemaphoreSlim(0, 1);

            this.eventAggregator.Subscribe(this);
            this.DisplayName = Constants.AppName;

            this.Items.Add(hosting);
            this.Items.Add(authentication);
            this.Items.Add(ui);
            this.Items.Add(mail);
            this.Items.Add(rate);
            this.Items.Add(ip);
            this.Items.Add(ad);
            this.Items.Add(audit);
            this.Items.Add(laps);
            this.Items.Add(jit);
            this.Items.Add(bitLocker);
            this.Items.Add(authorization);
            this.Items.Add(lic);
            this.Items.Add(havm);

            this.OptionItems = new BindableCollection <PropertyChangedBase> {
                help
            };

            this.ActiveItem = this.Items.First();

            this.UpdateIsConfigured();
            this.SetupClusterMonitor();
        }
Beispiel #8
0
        public JitConfigurationViewModel(JitConfigurationOptions jitOptions, IDialogCoordinator dialogCoordinator, IJitGroupMappingViewModelFactory groupMappingFactory, INotifyModelChangedEventPublisher eventPublisher, IJitDomainStatusViewModelFactory jitDomainStatusFactory, IWindowsServiceProvider windowsServiceProvider, IShellExecuteProvider shellExecuteProvider, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, IObjectSelectionProvider objectSelectionProvider, IScriptTemplateProvider scriptTemplateProvider)
        {
            this.shellExecuteProvider    = shellExecuteProvider;
            this.dialogCoordinator       = dialogCoordinator;
            this.jitOptions              = jitOptions;
            this.groupMappingFactory     = groupMappingFactory;
            this.jitDomainStatusFactory  = jitDomainStatusFactory;
            this.windowsServiceProvider  = windowsServiceProvider;
            this.eventPublisher          = eventPublisher;
            this.domainTrustProvider     = domainTrustProvider;
            this.discoveryServices       = discoveryServices;
            this.objectSelectionProvider = objectSelectionProvider;
            this.scriptTemplateProvider  = scriptTemplateProvider;

            this.DisplayName   = "Just-in-time access";
            this.GroupMappings = new BindableCollection <JitGroupMappingViewModel>();
            this.Domains       = new BindableCollection <JitDomainStatusViewModel>();
        }
Beispiel #9
0
        public LapsConfigurationViewModel(IDialogCoordinator dialogCoordinator, ICertificateProvider certificateProvider, IX509Certificate2ViewModelFactory certificate2ViewModelFactory, IWindowsServiceProvider windowsServiceProvider, ILogger <LapsConfigurationViewModel> logger, IShellExecuteProvider shellExecuteProvider, IDomainTrustProvider domainTrustProvider, IDiscoveryServices discoveryServices, IScriptTemplateProvider scriptTemplateProvider, ICertificatePermissionProvider certPermissionProvider, DataProtectionOptions dataProtectionOptions, INotifyModelChangedEventPublisher eventPublisher)
        {
            this.shellExecuteProvider         = shellExecuteProvider;
            this.certificateProvider          = certificateProvider;
            this.certificate2ViewModelFactory = certificate2ViewModelFactory;
            this.dialogCoordinator            = dialogCoordinator;
            this.windowsServiceProvider       = windowsServiceProvider;
            this.logger = logger;
            this.domainTrustProvider    = domainTrustProvider;
            this.discoveryServices      = discoveryServices;
            this.scriptTemplateProvider = scriptTemplateProvider;
            this.dataProtectionOptions  = dataProtectionOptions;
            this.eventPublisher         = eventPublisher;

            this.Forests = new List <Forest>();
            this.AvailableCertificates  = new BindableCollection <X509Certificate2ViewModel>();
            this.DisplayName            = "Local admin passwords";
            this.certPermissionProvider = certPermissionProvider;
        }
        public HostingViewModel(HostingOptions model, IDialogCoordinator dialogCoordinator, IWindowsServiceProvider windowsServiceProvider, ILogger <HostingViewModel> logger, IModelValidator <HostingViewModel> validator, IAppPathProvider pathProvider, INotifyModelChangedEventPublisher eventPublisher, ICertificateProvider certProvider, IShellExecuteProvider shellExecuteProvider, IEventAggregator eventAggregator, IDirectory directory, IScriptTemplateProvider scriptTemplateProvider, ICertificatePermissionProvider certPermissionProvider, IRegistryProvider registryProvider, ISecretRekeyProvider rekeyProvider, IObjectSelectionProvider objectSelectionProvider, IDiscoveryServices discoveryServices, IAmsLicenseManager licenseManager, IApplicationUpgradeProvider appUpgradeProvider, IHttpSysConfigurationProvider certificateBindingProvider, IFirewallProvider firewallProvider)
        {
            this.logger                     = logger;
            this.pathProvider               = pathProvider;
            this.OriginalModel              = model;
            this.certProvider               = certProvider;
            this.dialogCoordinator          = dialogCoordinator;
            this.windowsServiceProvider     = windowsServiceProvider;
            this.shellExecuteProvider       = shellExecuteProvider;
            this.eventAggregator            = eventAggregator;
            this.Validator                  = validator;
            this.directory                  = directory;
            this.scriptTemplateProvider     = scriptTemplateProvider;
            this.certPermissionProvider     = certPermissionProvider;
            this.registryProvider           = registryProvider;
            this.rekeyProvider              = rekeyProvider;
            this.objectSelectionProvider    = objectSelectionProvider;
            this.discoveryServices          = discoveryServices;
            this.licenseManager             = licenseManager;
            this.appUpgradeProvider         = appUpgradeProvider;
            this.certificateBindingProvider = certificateBindingProvider;
            this.firewallProvider           = firewallProvider;

            this.WorkingModel        = this.CloneModel(model);
            this.Certificate         = this.certificateBindingProvider.GetCertificate();
            this.OriginalCertificate = this.Certificate;
            this.ServiceAccount      = this.windowsServiceProvider.GetServiceAccountSid();
            this.ServiceStatus       = this.windowsServiceProvider.Status.ToString();
            this.DisplayName         = "Web hosting";

            this.licenseManager.OnLicenseDataChanged += delegate
            {
                this.NotifyOfPropertyChange(nameof(this.IsEnterpriseEdition));
                this.NotifyOfPropertyChange(nameof(this.IsStandardEdition));
            };

            eventPublisher.Register(this);
        }
 public ActiveDirectoryDomainPermissionViewModel(Domain domain, IWindowsServiceProvider windowsServiceProvider, ILogger <ActiveDirectoryDomainPermissionViewModel> logger)
 {
     this.logger            = logger;
     this.domain            = domain;
     this.serviceAccountSid = windowsServiceProvider.GetServiceAccountSid();
 }
Beispiel #12
0
 public ActiveDirectoryDomainPermissionViewModelFactory(IWindowsServiceProvider windowsServiceProvider, ILogger <ActiveDirectoryDomainPermissionViewModel> logger)
 {
     this.windowsServiceProvider = windowsServiceProvider;
     this.logger = logger;
 }
 public SqlServerInstanceProvider(ILogger <SqlServerInstanceProvider> logger, IOptions <DatabaseConfigurationOptions> highAvailabilityOptions, IAmsLicenseManager licenseManager, IWindowsServiceProvider windowsServiceProvider)
     : this(logger, highAvailabilityOptions.Value, licenseManager, windowsServiceProvider)
 {
 }
 public HttpSysConfigurationProvider(IRegistryProvider registryProvider, IWindowsServiceProvider windowsServiceProvider)
 {
     this.registryProvider       = registryProvider;
     this.windowsServiceProvider = windowsServiceProvider;
 }
 public CertificatePermissionProvider(IWindowsServiceProvider windowsServiceProvider, ILocalSam localSam)
 {
     this.windowsServiceProvider = windowsServiceProvider;
     this.localSam = localSam;
 }