IAdmUsernameDomainSelectionOptions
The IAdmUsernameDomainSelectionOptions interface represents the domain suffix selection restrictions for a particular domain.
Inheritance: IUnknown
Properties
-
Property
-
Description
-
Mode
-
Gets or sets the mode in which the restriction operates.
-
SpecificDomains
-
Gets or sets a list of domains that must be shown or hidden.
-
DefaultDomain
-
Gets or sets the domain to select by default.
Details
Mode
Gets or sets the mode in which the restriction operates.
- Type:
- UsernameDomainSelectionMode
- Access:
- Read/Write
SpecificDomains
Gets or sets a list of domains that must be shown or hidden, depending on the specified mode.
- Type:
- string[]
- Access:
- Read/Write
Remarks
This property should be specified only if Mode is set to ShowSpecific
or HideSpecific
.
Examples
The following code sample sets suffix restrictions for the example.com domain. Two suffixes are hidden and a specific suffix is marked as deafult.
- PowerShell
-
[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi") # Connect to the Adaxes service. $ns = New-Object "Softerra.Adaxes.Adsi.AdmNamespace" $service = $ns.GetServiceDirectly("localhost") # Build the ADS path of the User property pattern and bind to it. $containerPath = $service.Backend.GetConfigurationContainerPath("PropertyPatterns") $propertyPatternsPathObj = New-Object "Softerra.Adaxes.Adsi.AdsPath" $containerPath $builtinPathObj = $propertyPatternsPathObj.CreateChildPath("CN=Builtin") $userPatternPath = $builtinPathObj.CreateChildPath("CN=User") $pattern = $service.OpenObject($userPatternPath.ToString(), $null, $null, 0) # Get the item for the Username property. foreach ($item in $pattern.Items) { if ($item.PropertyName -ieq "userPrincipalName") { # Create suffix restrictions for domain. $domainRestriction = New-Object Softerra.Adaxes.Adsi.PropertyPatterns.UsernameDomainSelectionOptions $domainRestriction.Mode = "HideSpecific" $domainRestriction.SpecificDomains = @("example1.com", "example.onmicrosoft.com") $domainRestriction.DefaultDomain = "example.com" # Set restrictions. $domainOptions = New-Object Softerra.Adaxes.Adsi.Utils.AdmKeyValuePair $domainOptions.Key = "example.com" $domainOptions.Value = $domainRestriction $item.DomainOptions += $domainOptions $item.SetInfo() } }
- C#
-
using System; using Softerra.Adaxes.Adsi; using Softerra.Adaxes.Interop.Adsi.PersistentObjects; using Softerra.Adaxes.Interop.Adsi.PropertyPatterns; class Program { static void Main(string[] args) { // Connect to the Adaxes service. AdmNamespace ns = new AdmNamespace(); IAdmService service = ns.GetServiceDirectly("localhost"); // Build the ADS path of the User property pattern and bind to it. string containerPath = service.Backend.GetConfigurationContainerPath("PropertyPatterns"); AdsPath propertyPatternsPathObj = new AdsPath(containerPath); AdsPath builtinPathObj = propertyPatternsPathObj.CreateChildPath("CN=Builtin"); AdsPath userPatternPath = builtinPathObj.CreateChildPath("CN=User"); IAdmPropertyPattern pattern = (IAdmPropertyPattern)service.OpenObject( userPatternPath.ToString(), null, null, 0); // Get the item for the Username property. foreach (IAdmPropertyPatternItem item in pattern.Items) { if (StringComparer.OrdinalIgnoreCase.Equals("userPrincipalName", item.PropertyName)) { IAdmUsernamePropertyPatternItem usernameItem = (IAdmUsernamePropertyPatternItem)item; // Create suffix restrictions for the domain. IAdmUsernameDomainSelectionOptions domainRestriction = new UsernameDomainSelectionOptions { Mode = UsernameDomainSelectionMode.HideSpecific, SpecificDomains = new[] { "example1.com", "example.onmicrosoft.com" }, DefaultDomain = "example.com" }; // Set restrictions. IAdmKeyValuePair domainOptions = new AdmKeyValuePair { Key = "example.com", Value = domainRestriction }; usernameItem.DomainOptions = new [] { domainOptions }; usernameItem.SetInfo(); } } } }
DefaultDomain
Gets or sets the domain to select by default.
- Type:
- string
- Access:
- Read/Write
Requirements
Minimum required version: 2023