private MonadConnectionInfo DiscoverOrganizationConnectionInfo()
 {
     if (!WinformsHelper.IsRemoteEnabled())
     {
         return(null);
     }
     if (this.Type == OrganizationType.RemoteOnPremise || this.Type == OrganizationType.Cloud)
     {
         this.ReportConnectToSpecifiedServerProgress(0);
         return(this.DiscoverConnectionInfo());
     }
     if (this.Uri != null)
     {
         try
         {
             this.ReportConnectToSpecifiedServerProgress(0);
             return(this.DiscoverConnectionInfo());
         }
         catch (PSRemotingDataStructureException)
         {
         }
         catch (PSRemotingTransportException)
         {
         }
     }
     this.ReportDiscoverServerProgress(15);
     this.Uri = PSConnectionInfoSingleton.GetRemotePowerShellUri(PSConnectionInfoSingleton.DiscoverExchangeServer());
     this.ReportConnectToServerProgress(40);
     return(this.DiscoverConnectionInfo());
 }
Exemplo n.º 2
0
 public override void Initialize(IProgressProvider progressProvider)
 {
     PSConnectionInfoSingleton.GetInstance().DisplayName = this.RootNodeDisplayName;
     PSConnectionInfoSingleton.GetInstance().Type        = OrganizationType.ToolOrEdge;
     PSConnectionInfoSingleton.GetInstance().Uri         = PSConnectionInfoSingleton.GetRemotePowerShellUri(this.Settings.RemotePSServer);
     PSConnectionInfoSingleton.GetInstance().LogonWithDefaultCredential = true;
     PSConnectionInfoSingleton.GetInstance().Enabled = true;
     base.Initialize(progressProvider);
 }
        public void UpdateRemotePSServer(Fqdn server)
        {
            if (this.Type != OrganizationType.LocalOnPremise && this.Type != OrganizationType.ToolOrEdge)
            {
                throw new NotSupportedException();
            }
            Uri  uri = this.Uri;
            Uri  remotePowerShellUri = PSConnectionInfoSingleton.GetRemotePowerShellUri(server);
            bool flag = true;

            try
            {
                this.Uri = remotePowerShellUri;
                this.DefaultConnectionInfo = this.DiscoverOrganizationConnectionInfo();
                flag = false;
            }
            finally
            {
                if (flag)
                {
                    this.Uri = uri;
                }
            }
        }
        private MonadConnectionInfo DiscoverForestConnectionInfo(IUIService uiService, OrganizationSetting forestInfo)
        {
            SupportedVersionList supportedVersionList = null;

            switch (forestInfo.Type)
            {
            case OrganizationType.LocalOnPremise:
                return(new ConnectionRetryDiscoverer(uiService, OrganizationType.LocalOnPremise, Strings.MicrosoftExchangeOnPremise, PSConnectionInfoSingleton.GetRemotePowerShellUri(this.GetAutoDiscoveredServer()), true).DiscoverConnectionInfo(out supportedVersionList, string.Empty));

            case OrganizationType.RemoteOnPremise:
            case OrganizationType.Cloud:
                return(new ConnectionRetryDiscoverer(forestInfo, uiService).DiscoverConnectionInfo(out supportedVersionList, string.Empty));

            default:
                return(null);
            }
        }