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; }
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)); } }