internal TargetForestConfiguration(string id, string fullDnsDomainName, AvailabilityAccessMethod accessMethod, NetworkCredential networkCredential, Uri autoDiscoverUrl, AutodiscoverUrlSource autodiscoverUrlSource)
 {
     this.id = id;
     this.fullDnsDomainName     = fullDnsDomainName;
     this.accessMethod          = accessMethod;
     this.networkCredential     = networkCredential;
     this.autoDiscoverUrl       = autoDiscoverUrl;
     this.autodiscoverUrlSource = autodiscoverUrlSource;
 }
Esempio n. 2
0
        public void AddAvailabilityAddressSpace(string forestName, AvailabilityAccessMethod accessMethod, bool useServiceAccount, Uri proxyUrl)
        {
            SessionParameters sessionParameters = new SessionParameters();

            sessionParameters.Set("ForestName", forestName);
            sessionParameters.Set("AccessMethod", accessMethod);
            sessionParameters.Set("UseServiceAccount", useServiceAccount);
            sessionParameters.Set("ProxyUrl", proxyUrl);
            base.RemotePowershellSession.RunOneCommand("Add-AvailabilityAddressSpace", sessionParameters, false);
        }
        protected override void ValidateWrite(List <ValidationError> errors)
        {
            base.ValidateWrite(errors);
            if (this.UseServiceAccount && !string.IsNullOrEmpty(this.UserName))
            {
                errors.Add(new ObjectValidationError(DirectoryStrings.ASOnlyOneAuthenticationMethodAllowed, base.Id, string.Empty));
            }
            AvailabilityAccessMethod accessMethod = this.AccessMethod;

            switch (accessMethod)
            {
            case AvailabilityAccessMethod.PerUserFB:
            case AvailabilityAccessMethod.OrgWideFB:
            case AvailabilityAccessMethod.OrgWideFBBasic:
                if (!this.UseServiceAccount && string.IsNullOrEmpty(this.UserName))
                {
                    errors.Add(new ObjectValidationError(DirectoryStrings.ASAccessMethodNeedsAuthenticationAccount, base.Id, string.Empty));
                }
                break;

            case AvailabilityAccessMethod.PublicFolder:
                if (this.UseServiceAccount || !string.IsNullOrEmpty(this.UserName))
                {
                    errors.Add(new ObjectValidationError(DirectoryStrings.ASInvalidAuthenticationOptionsForAccessMethod, base.Id, string.Empty));
                }
                break;

            case AvailabilityAccessMethod.InternalProxy:
                if (!this.UseServiceAccount)
                {
                    errors.Add(new ObjectValidationError(DirectoryStrings.ASAccessMethodNeedsAuthenticationAccount, base.Id, string.Empty));
                }
                break;

            default:
                errors.Add(new ObjectValidationError(DirectoryStrings.ASInvalidAccessMethod, base.Id, string.Empty));
                break;
            }
            Uri proxyUrl = this.ProxyUrl;

            if (proxyUrl != null && accessMethod != AvailabilityAccessMethod.InternalProxy)
            {
                errors.Add(new ObjectValidationError(DirectoryStrings.ASInvalidProxyASUrlOption, base.Id, string.Empty));
            }
        }