Skip to content

Checking domain status

The following code sample outputs the status of all domains managed by Adaxes.

[Reflection.Assembly]::LoadWithPartialName("Softerra.Adaxes.Adsi")

# Connect to the Adaxes service
$admNS = New-Object("Softerra.Adaxes.Adsi.AdmNamespace")
$admService = $admNS.GetServiceDirectly("localhost")

# Get list of managed domains
$managedDomains = $admService.GetManagedDomains()

foreach ($domain in $managedDomains)
{
    # Name
    Write-Host "Domain name: " $domain.Name

    # Status
    Write-Host "Domain status: " -NoNewline
    Switch ($domain.Status)
    {
         "ADM_MANAGEDDOMAINSTATUS_INACTIVE"
         {
             Write-Host "The domain is not operational because it is initializing or an internal error occurred."
         }
         "ADM_MANAGEDDOMAINSTATUS_UNREGISTERED"
         {
             Write-host "The domain is not accessible to the Adaxes service as administrative credentials are not provided."
         }
         "ADM_MANAGEDDOMAINSTATUS_OPERATING"
         {
             Write-Host "The domain is fully operational and accessible to the Adaxes service."
         }
    }
    Write-Host
}
using System;
using Softerra.Adaxes.Adsi;
using Softerra.Adaxes.Interop.Adsi.PersistentObjects;

class Program
{
    static void Main(string[] args)
    {
         // Connect to the Adaxes service
         AdmNamespace adsNS = new AdmNamespace();
         IAdmService admService = adsNS.GetServiceDirectly("localhost");

         // Get list of managed domains
         IADsCollection managedDomains = admService.GetManagedDomains();

         foreach (IAdmManagedDomainInfo domain in managedDomains)
         {
             // Name
             Console.WriteLine("Domain name: {0}", domain.Name);

             // Status
             Console.Write("Domain status: ");
             switch (domain.Status)
             {
                 case ADM_MANAGEDDOMAINSTATUS_ENUM.ADM_MANAGEDDOMAINSTATUS_INACTIVE:
                     Console.WriteLine("The domain is not operational because it is " +
                                       "initializing or an internal error occurred.");
                     break;
                 case ADM_MANAGEDDOMAINSTATUS_ENUM.ADM_MANAGEDDOMAINSTATUS_UNREGISTERED:
                     Console.WriteLine("The domain is not accessible to the Adaxes service " +
                                       "as appropriate credentials are not provided.");
                     break;
                 case ADM_MANAGEDDOMAINSTATUS_ENUM.ADM_MANAGEDDOMAINSTATUS_OPERATING:
                     Console.WriteLine("The domain is fully operational and " +
                                       "accessible to the Adaxes service.");
                     break;
              }
              Console.WriteLine();
         }
    }
}

See also