public static bool IsRemoteEnabled() { if (PSConnectionInfoSingleton.GetInstance().Type != OrganizationType.ToolOrEdge) { return(true); } if (EnvironmentAnalyzer.IsWorkGroup()) { return(false); } string name = "SOFTWARE\\Microsoft\\ExchangeServer\\v15\\AdminTools"; bool result = true; try { using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(name)) { if (registryKey != null) { object value = registryKey.GetValue("EMC.RemotePowerShellEnabled"); if (value != null && string.Equals("false", value.ToString(), StringComparison.OrdinalIgnoreCase)) { result = false; } } } } catch (SecurityException) { } catch (UnauthorizedAccessException) { } return(result); }
private void EnsureADSettingsEnforced() { if (this["ADServerSettings"] == null && !EnvironmentAnalyzer.IsWorkGroup()) { this.waitHandle.WaitOne(); } }
internal override bool HasViewPermissionForPage(string pageName) { if (EnvironmentAnalyzer.IsWorkGroup() || !base.ProfileBuilder.CanEnableUICustomization()) { return(true); } if (this.pageToReaderTaskMapping.ContainsKey(pageName)) { return((from c in this.readerTaskProfileList where this.pageToReaderTaskMapping[pageName].Contains(c.Name) select c).Any((ReaderTaskProfile c) => c.HasPermission())); } return(true); }
public RunspaceServerSettingsPresentationObject CreateRunspaceServerSettingsObject() { if (EnvironmentAnalyzer.IsWorkGroup() || OrganizationType.Cloud == PSConnectionInfoSingleton.GetInstance().Type || this.ADServerSettings == null) { return(null); } if (this.ADServerSettings != null) { lock (this.syncRoot) { return(this.ADServerSettings.Clone() as RunspaceServerSettingsPresentationObject); } } return(null); }
internal void EnforceADSettings() { ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeADServerSettings>(0L, "-->ExchangeSystemManagerSettings.EnforceAdSettings: {0}", this); if (this["ADServerSettings"] == null && !EnvironmentAnalyzer.IsWorkGroup() && OrganizationType.Cloud != PSConnectionInfoSingleton.GetInstance().Type) { try { try { using (MonadConnection monadConnection = new MonadConnection("timeout=30", new CommandInteractionHandler(), null, PSConnectionInfoSingleton.GetInstance().GetMonadConnectionInfo())) { monadConnection.Open(); LoggableMonadCommand loggableMonadCommand = new LoggableMonadCommand("Get-ADServerSettingsForLogonUser", monadConnection); object[] array = loggableMonadCommand.Execute(); if (array != null && array.Length > 0) { RunspaceServerSettingsPresentationObject runspaceServerSettingsPresentationObject = array[0] as RunspaceServerSettingsPresentationObject; this.ADServerSettings = runspaceServerSettingsPresentationObject; this.OrganizationalUnit = runspaceServerSettingsPresentationObject.RecipientViewRoot; this.ForestViewEnabled = runspaceServerSettingsPresentationObject.ViewEntireForest; this.GlobalCatalog = runspaceServerSettingsPresentationObject.UserPreferredGlobalCatalog; this.ConfigurationDomainController = runspaceServerSettingsPresentationObject.UserPreferredConfigurationDomainController; if (runspaceServerSettingsPresentationObject.UserPreferredDomainControllers != null && runspaceServerSettingsPresentationObject.UserPreferredDomainControllers.Count != 0) { this.DomainController = runspaceServerSettingsPresentationObject.UserPreferredDomainControllers[0]; } } else { this.SetDefaultSettings(); } } } catch (Exception) { this.SetDefaultSettings(); } goto IL_11A; } finally { this.waitHandle.Set(); } } this.waitHandle.Set(); IL_11A: ExTraceGlobals.ProgramFlowTracer.TraceFunction <ExchangeADServerSettings>(0L, "<--ExchangeSystemManagerSettings.EnforceAdSettings: {0}", this); }
internal override bool HasPermissionForProperty(string propertyName, bool canUpdate) { if (EnvironmentAnalyzer.IsWorkGroup() || !base.ProfileBuilder.CanEnableUICustomization()) { return(true); } ColumnProfile columnProfile = (from DataColumn c in base.Table.Columns where c.ColumnName == propertyName select c).First <DataColumn>().ExtendedProperties["ColumnProfile"] as ColumnProfile; string dataObjectName = columnProfile.DataObjectName; IEnumerable <ReaderTaskProfile> source = from c in this.readerTaskProfileList where c.DataObjectName == dataObjectName select c; ReaderTaskProfile readerTaskProfile = null; if (source.Count <ReaderTaskProfile>() > 0) { readerTaskProfile = source.First <ReaderTaskProfile>(); } if (readerTaskProfile != null && !readerTaskProfile.HasPermission()) { return(false); } if (canUpdate) { if (columnProfile.IgnoreChangeTracking) { return(true); } IEnumerable <SaverTaskProfile> source2 = from c in this.saverTaskProfileList where (c.Runner as Saver).GetConsumedDataObjectName() == dataObjectName && !string.IsNullOrEmpty(dataObjectName) select c; SaverTaskProfile saverTaskProfile = null; if (source2.Count <SaverTaskProfile>() > 0) { saverTaskProfile = source2.First <SaverTaskProfile>(); } if (saverTaskProfile == null) { IEnumerable <SaverTaskProfile> enumerable = from c in this.saverTaskProfileList where (from p in c.ParameterProfileList where p.Reference == propertyName select p).Count <ParameterProfile>() > 0 select c; using (IEnumerator <SaverTaskProfile> enumerator = enumerable.GetEnumerator()) { while (enumerator.MoveNext()) { SaverTaskProfile saverTaskProfile2 = enumerator.Current; if (!saverTaskProfile2.HasPermission(columnProfile.MappingProperty)) { return(false); } } return(true); } } if (saverTaskProfile != null && !saverTaskProfile.HasPermission(columnProfile.MappingProperty)) { return(false); } } return(true); }
public MicrosoftExchangeSnapIn() { GC.KeepAlive(ManagementGuiSqmSession.Instance); base.RootNode = new ToolboxNode(EnvironmentAnalyzer.IsWorkGroup()); }