

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erste Schritte mit AD Connector
<a name="ad_connector_getting_started"></a>

Mit AD Connector können Sie eine Verbindung Directory Service zu Ihrem vorhandenen Active Directory Ihres Unternehmens herstellen. Bei Verbindung mit Ihrem vorhandenen Verzeichnis bleiben alle Ihre Verzeichnisdaten auf Ihren Domain-Controllern. Directory Service repliziert keine Ihrer Verzeichnisdaten.

**Topics**
+ [AD-Connector-Voraussetzungen](#prereq_connector)
+ [Einen AD Connector erstellen](#create_ad_connector)
+ [Was wird mit Ihrem AD Connector erstellt](create_details_ad_connector.md)

## AD-Connector-Voraussetzungen
<a name="prereq_connector"></a>

Zum Herstellen einer Verbindung mit Ihrem vorhandenen Verzeichnis über AD Connector benötigen Sie Folgendes:

**Amazon VPC**  
Richten Sie eine VPC mit Folgendem ein:  
+ Mindestens zwei Subnetze. Jedes der Subnetze muss sich in einer anderen Availability Zone befinden und denselben Netzwerktyp haben.

  Sie können es IPv6 für Ihre VPC verwenden. Weitere Informationen finden Sie unter [IPv6 Support für Ihre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) im *Amazon Virtual Private Cloud Cloud-Benutzerhandbuch*.
+ Die VPC muss mit Ihrem vorhandenen Netzwerk über ein VPN (Virtual Private Network) oder Direct Connect verbunden sein.
+ Die VPC muss über Standard-Hardware-Tenancy verfügen.
Directory Service verwendet eine Struktur mit zwei VPCs. Die EC2-Instances, aus denen Ihr Verzeichnis besteht, laufen außerhalb Ihres AWS Kontos und werden von verwaltet. AWS Sie haben zwei Netzwerkadapter `ETH0` und `ETH1`. `ETH0` ist der Verwaltungsadapter und existiert außerhalb Ihres Kontos. `ETH1` wird in Ihrem Konto erstellt.   
Der Management-IP-Bereich des `ETH0`-Netzwerks Ihres Verzeichnisses wird programmatisch ausgewählt, um sicherzustellen, dass er nicht mit der VPC kollidiert, in der Ihr Verzeichnis bereitgestellt wird. Dieser IP-Bereich kann sich in einem der folgenden Paare befinden (da Verzeichnisse in zwei Subnetzen ausgeführt werden):  
+ 10.0.1.0/24 und 10.0.2.0/24 
+ 169.254.0.0/16
+ 192.168.1.0/24 und 192.168.2.0/24 
Wir vermeiden Konflikte, indem wir das erste Oktett des `ETH1`-CIDR überprüfen. Wenn es mit einer 10 beginnt, dann wählen wir eine 192.168.0.0/16 VPC mit den Subnetzen 192.168.1.0/24 und 192.168.2.0/24. Wenn das erste Oktett etwas anderes als eine 10 ist, wählen wir eine 10.0.0.0/16 VPC mit den Subnetzen 10.0.1.0/24 und 10.0.2.0/24.   
Der Auswahlalgorithmus berücksichtigt nicht die Routen auf Ihrer VPC. Es ist daher möglich, dass dieses Szenario zu einem IP-Routing-Konflikt führt.   
Weitere Informationen finden Sie unter den folgenden Themen im *Amazon VPC Benutzerhandbuch*:  
+ [Was ist Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Introduction.html)
+ [Subnetze in Ihrer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPCSubnet)
+ [Hinzufügen eines Hardware Virtual Private Gateway zu Ihrer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_VPN.html)
Weitere Informationen zu AWS Direct Connect finden Sie im [AWS Direct Connect Benutzerhandbuch](https://docs.aws.amazon.com/directconnect/latest/UserGuide/).

**Vorhandenes Active Directory**  
Sie müssen eine Verbindung zu einem vorhandenen Netzwerk mit einer Active Directory-Domäne herstellen.  
AD Connector unterstützt [Single Label Domains](https://support.microsoft.com/en-us/help/2269810/microsoft-support-for-single-label-domains) nicht.
Die Funktionsebene dieser Active Directory-Domäne muss `Windows Server 2003` mindestens sein. AD Connector unterstützt auch das Herstellen einer Verbindung mit einer auf einer Amazon-EC2-Instance gehosteten Domain.  
AD Connector unterstützt keine schreibgeschützten Domain-Controller (RODC), wenn es in Verbindung mit dem Amazon-EC2-Feature zur Domainverbindung verwendet wird. 

**Dienstkonto**  
Sie müssen über Anmeldeinformationen für ein Servicekonto im vorhandenen Verzeichnis verfügen, dem die folgenden Berechtigungen zugewiesen sind:  
+ Lesen von Benutzern und Gruppen – erforderlich
+ Computer mit der Domäne verbinden — Nur erforderlich, wenn Sie Seamless Domain Join verwenden und WorkSpaces
+ Computerobjekte erstellen — Nur erforderlich, wenn Seamless Domain Join verwendet wird und WorkSpaces
+ Das Kennwort für das Dienstkonto sollte den AWS Kennwortanforderungen entsprechen. AWS Die Passwörter sollten wie folgt lauten:
  + Zwischen 8 und 128 Zeichen lang, einschließlich. 
  + Enthält mindestens ein Zeichen aus drei der folgenden vier Kategorien:
    + Kleinbuchstaben (a – z)
    + Großbuchstaben (A – Z)
    + Zahlen (0 – 9)
    + Nicht-alphanumerische Zeichen (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)
Weitere Informationen finden Sie unter [Zuweisen von Berechtigungen zu Ihrem Servicekonto](#connect_delegate_privileges).   
AD Connector verwendet Kerberos für die Authentifizierung und Autorisierung von AWS -Anwendungen. LDAP wird nur für die Suche nach Benutzer- und Gruppenobjekten (Lesevorgänge) verwendet. Bei den LDAP-Transaktionen ist nichts veränderbar und Anmeldeinformationen werden nicht im Klartext übergeben. Die Authentifizierung erfolgt durch einen AWS internen Dienst, der Kerberos-Tickets verwendet, um LDAP-Operationen als Benutzer auszuführen.

**Benutzerberechtigungen**  
Alle Active Directory-Benutzer müssen die Berechtigung haben, ihre eigenen Attribute zu lesen. Insbesondere die folgenden Attribute:  
+ GivenName
+ SurName
+ Mail
+ SamAccountName
+ UserPrincipalName
+ UserAccountControl
+ MemberOf
Standardmäßig haben Active Directory-Benutzer Leseberechtigungen für diese Attribute. Administratoren können jedoch diese Berechtigungen im Laufe der Zeit ändern. Daher sollten Sie vor der ersten Einrichtung von AD Connector überprüfen, ob Ihre Benutzer über diese Leseberechtigungen verfügen.

**IP-Adressen**  
Holen Sie sich die IP-Adressen von zwei DNS-Servern oder Domain-Controllern in Ihrem vorhandenen Verzeichnis.  
AD Connector ermittelt `_ldap._tcp.<DnsDomainName>` und `_kerberos._tcp.<DnsDomainName>` SRV-Datensätze von diesen Servern bei der Verbindung zu Ihrem Verzeichnis, daher müssen diese Server diese SRV-Datensätze enthalten. Der AD Connector versucht, einen gemeinsamen Domain-Controller zu finden, der LDAP und Kerberos-Services bietet, sodass diese SRV-Datensätze mindestens einen gemeinsamen Domain-Controller enthalten müssen. Weitere Informationen zu SRV-Datensätzen finden Sie unter [SRV Resource Records auf Microsoft](http://technet.microsoft.com/en-us/library/cc961719.aspx). TechNet

**Ports für Subnetze**  
Damit AD Connector Verzeichnisanfragen an Ihre vorhandenen Active Directory-Domänencontroller umleiten kann, muss die Firewall für Ihr vorhandenes Netzwerk die folgenden Ports CIDRs für beide Subnetze in Ihrer Amazon VPC geöffnet haben.  
+ TCP/UDP 53 – DNS
+ TCP/UDP 88 – Kerberos-Authentifizierung
+ TCP/UDP 389 – LDAP
Das ist das Minimum an notwendigen Ports, damit AD Connector eine Verbindung mit Ihrem Verzeichnis herstellen kann. Ihre spezifische Konfiguration erfordert möglicherweise die Öffnung zusätzlicher Ports.  
Wenn Sie AD Connector und Amazon verwenden möchten WorkSpaces, muss das Attribut Disable VLVSupport LDAP für Ihre Domain-Controller auf 0 gesetzt werden. Dies ist die Standardeinstellung für die Domain-Controller. AD Connector kann keine Benutzer im Verzeichnis abfragen, wenn das Attribut Disable VLVSupport LDAP aktiviert ist. Dadurch wird verhindert, dass AD Connector mit arbeitet Amazon WorkSpaces.  
Wenn sich die DNS-Server oder Domain-Controller-Server für Ihre bestehende Active Directory-Domäne innerhalb der VPC befinden, müssen die mit diesen Servern verknüpften Sicherheitsgruppen die oben genannten Ports CIDRs für beide Subnetze in der VPC geöffnet haben. 
Weitere Portanforderungen finden Sie in der Dokumentation unter [AD- und AD DS-Portanforderungen](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd772723(v=ws.10)). Microsoft

**Kerberos-Vorabauthentifizierung**  
Für Ihre Benutzerkonten muss die Kerberos-Vorabauthentifizierung aktiviert sein. Detaillierte Anweisungen dazu, wie Sie diese Einstellung aktivieren, finden Sie unter [Sicherstellen, dass Kerberos-Vorauthentifizierung aktiviert ist](ms_ad_tutorial_setup_trust_prepare_onprem.md#tutorial_setup_trust_enable_kerberos). Allgemeine Informationen zu dieser Einstellung finden Sie unter [Vorauthentifizierung](http://technet.microsoft.com/en-us/library/cc961961.aspx) ein. Microsoft TechNet

**Verschlüsselungstypen**  
AD Connector unterstützt die folgenden Verschlüsselungstypen bei der Authentifizierung Ihrer Active-Directory-Domain-Controller über Kerberos:  
+ AES-256-HMAC
+ AES-128-HMAC
+ RC4-HMAC

### AWS IAM Identity Center Voraussetzungen
<a name="prereq_aws_sso_ad_connector"></a>

Wenn Sie IAM Identity Center mit AD Connector verwenden möchten, müssen Sie sicherstellen, dass Folgendes zutrifft:
+ Ihr AD Connector ist im Verwaltungskonto Ihrer AWS Organisation eingerichtet.
+ Ihre Instance von IAM Identity Center befindet sich in der gleichen Region, in der Ihr AD Connector eingerichtet ist. 

Weitere Informationen finden Sie unter [Voraussetzungen für IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/prereqs.html) im AWS IAM Identity Center Benutzerhandbuch.

### Voraussetzungen für Multifaktor-Authentifizierung
<a name="mfa_prereqs"></a>

Für die Unterstützung von Multi-Faktor-Authentifizierung in Ihrem AD-Connector-Verzeichnis benötigen Sie Folgendes:
+ Ein [Remote Authentication Dial-In User Service](https://en.wikipedia.org/wiki/RADIUS) (RADIUS)-Server in Ihrem vorhandenen Netzwerk, der zwei Client-Endpunkte hat. Die RADIUS-Client-Endpunkte müssen folgende Anforderungen erfüllen:
  + Für die Erstellung der Endpunkte benötigen Sie die IP-Adressen der Directory Service -Server. Diese IP-Adressen finden Sie im **Directory IP Address**-Feld Ihres Verzeichnisses. 
  + Beide RADIUS-Endpunkte müssen denselben geheimen Code verwenden.
+ Ihr vorhandenes Netzwerk muss eingehenden Datenverkehr über den standardmäßigen RADIUS-Serverport (1812) von den Servern zulassen. Directory Service 
+ Die Benutzernamen für Ihren RADIUS-Server und Ihr vorhandenes Verzeichnis müssen identisch sein.

Weitere Informationen zum Verwenden von AD Connector mit MFA finden Sie unter [Multi-Faktor-Authentifizierung für AD Connector aktivieren](ad_connector_mfa.md). 

### Zuweisen von Berechtigungen zu Ihrem Servicekonto
<a name="connect_delegate_privileges"></a>

Für die Verbindung mit Ihrem vorhandenen Verzeichnis benötigen Sie die Anmeldeinformationen für ein AD-Connector-Servicekonto im vorhandenen Verzeichnis, dem bestimmte Berechtigungen zugewiesen wurden. Obwohl Mitglieder der Gruppe **Domain-Administratoren** über ausreichende Berechtigungen verfügen, um das Verzeichnis aufzurufen, ist es eine bewährte Methode, ein Servicekonto zu verwenden, das nur über die Berechtigungen verfügt, die zum Aufrufen des Verzeichnisses mindestens notwendig sind. Das folgende Verfahren zeigt, wie Sie eine neue Gruppe mit dem Namen erstellen`Connectors`, die erforderlichen Rechte delegieren, die für die Verbindung mit Directory Service dieser Gruppe erforderlich sind, und dann ein neues Dienstkonto zu dieser Gruppe hinzufügen. 

Dieser Vorgang muss auf einem Computer durchgeführt werden, der Ihrem Verzeichnis hinzugefügt ist und auf dem das MMC-Snap-In **Active Directory User and Computers** installiert ist. Außerdem müssen Sie als Domain-Administrator angemeldet sein.

**So weisen Sie Ihrem Servicekonto Berechtigungen zu**

1. Öffnen Sie **Active Directory User und Computer** und wählen Sie in der Navigationsbaumstruktur Ihre Domain-Root aus.

1. Klicken Sie in der Liste im linken Bereich mit der rechten Maustaste auf **Users**, wählen Sie **New** und dann **Group**. 

1. Geben Sie im Dialogfeld **New Object - Group** Folgendes ein und klicken Sie auf **OK**.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/directoryservice/latest/admin-guide/ad_connector_getting_started.html)

1. Wählen Sie in der Navigationsstruktur „**Active Directory-Benutzer und -Computer**“ die Option Identifizieren Sie die Organisationseinheit (OU) aus, in der die Computerkonten erstellt werden sollen. Wählen Sie im Menü **Action** und dann **Delegate Control**. Sie können eine übergeordnete Organisationseinheit bis zur Domäne auswählen, da die Berechtigungen auf das untergeordnete OUs Unternehmen übertragen werden. Wenn Ihr AD Connector mit AWS Managed Microsoft AD verbunden ist, haben Sie keinen Zugriff auf die Delegiertensteuerung auf Domänenstammebene. Um die Steuerung zu delegieren, wählen Sie in diesem Fall die Organisationseinheit unter Ihrer Verzeichnis-Organisationseinheit aus, in der Ihre Computerobjekte erstellt werden.

1. Klicken Sie auf der Seite **Delegation of Control Wizard** auf **Next** und dann auf **Add**.

1. Geben Sie in das Dialogfeld **Select Users, Computers, or Groups** `Connectors` ein und klicken Sie auf **OK**. Wenn mehr als ein Objekt gefunden wurde, wählen Sie die oben erstellte Gruppe `Connectors`. Klicken Sie auf **Weiter**.

1. Wählen Sie auf der Seite **Tasks to Delegate** **Create a custom task to delegate** und dann **Next**.

1. Wählen Sie **Only the following objects in the folder** und dann **Computer objects** und **User objects**.

1. Wählen Sie **Create selected objects in this folder** und **Delete selected objects in this folder**. Klicken Sie anschließend auf **Weiter**.  
![\[Assistent zur Delegierung der Steuerung — Nur die folgenden Optionen für Objekte im Ordner, Benutzerobjekte, Ausgewählte Objekte in diesem Ordner erstellen und Ausgewählte Objekte in diesem Ordner löschen sind ausgewählt.\]](http://docs.aws.amazon.com/de_de/directoryservice/latest/admin-guide/images/aduc_delegate_join_linux.png)

1. Wählen Sie **Read** und dann **Next**.
**Anmerkung**  
Wenn Sie Seamless Domain Join oder verwenden WorkSpaces, müssen Sie auch **Schreibberechtigungen** aktivieren, damit Active Directory Computerobjekte erstellen kann.  
![\[Assistent zur Delegierung der Steuerung — Unter Diese Berechtigungen anzeigen sind die Optionen Allgemein, Eigenschaftsspezifisch und Lesen ausgewählt.\]](http://docs.aws.amazon.com/de_de/directoryservice/latest/admin-guide/images/aduc_delegate_join_permissions.png)

1. Überprüfen Sie die Informationen auf der Seite **Completing the Delegation of Control Wizard** und klicken Sie auf **Finish**. 

1. Erstellen Sie ein Benutzerkonto mit einem sicheren Passwort und fügen Sie diesen Benutzer zur Gruppe `Connectors` hinzu. Dieser Benutzer wird als Ihr AD Connector Connector-Dienstkonto bezeichnet. Da er jetzt Mitglied der `Connectors` Gruppe ist, verfügt er jetzt über ausreichende Rechte, um eine Verbindung mit Directory Service dem Verzeichnis herzustellen.

### Testen Sie Ihren AD Connector
<a name="connect_verification"></a>

Damit AD Connector eine Verbindung zu Ihrem vorhandenen Verzeichnis herstellen kann, muss die Firewall für Ihr vorhandenes Netzwerk bestimmte Ports CIDRs für beide Subnetze in der VPC geöffnet haben. Um zu prüfen, ob das der Fall ist, führen Sie die folgenden Schritte aus:

**Testen der Verbindung**

1. Starten Sie eine Windows-Instance in der VPC und stellen Sie eine VPC-Verbindung über RDP her. Die Instance muss Mitglied Ihrer vorhandenen Domain sein. Die weiteren Schritte werden in dieser VPC-Instance ausgeführt.

1. Laden Sie die Testanwendung herunter und entpacken Sie sie. [DirectoryServicePortTest](samples/DirectoryServicePortTest.zip) Der Quellcode und die Visual Studio-Projektdateien sind enthalten, sodass Sie die Testanwendung bei Bedarf ändern können.
**Anmerkung**  
Dieses Skript wird auf Windows Server 2003 oder älteren Betriebssystemen nicht unterstützt.

1. Führen Sie die Testanwendung **DirectoryServicePortTest** in einer Windows-Eingabeaufforderung mit den folgenden Optionen aus:
**Anmerkung**  
Die DirectoryServicePortTest Testanwendung kann nur verwendet werden, wenn die Domänen- und Gesamtstrukturfunktionsebenen auf Windows Server 2012 R2 oder niedriger eingestellt sind.

   ```
   DirectoryServicePortTest.exe -d <domain_name> -ip <server_IP_address> -tcp "53,88,389" -udp "53,88,389"
   ```  
*<domain\$1name>*  
Der vollqualifizierte Domainname. Dieser wird verwendet, um die Gesamtstruktur- und Funktionsebenen der Domain zu prüfen. Wenn Sie den Domainnamen nicht angeben, werden die Funktionsebenen nicht getestet.  
*<server\$1IP\$1address>*  
Die IP-Adresse eines Domain-Controllers in Ihrer vorhandenen Domain. Die Ports werden mit dieser IP-Adresse getestet. Wenn Sie die IP-Adresse nicht angeben, werden die Ports nicht getestet.

   Diese Test-App bestimmt, ob die erforderlichen Ports von der VPC zu Ihrer Domain geöffnet sind und überprüft auch die minimale Gesamtstruktur und Domain-Funktionsebenen.

   Die Ausgabe sieht folgendermaßen oder ähnlich aus:

   ```
   Testing forest functional level.
   Forest Functional Level = Windows2008R2Forest : PASSED
   
   Testing domain functional level.
   Domain Functional Level = Windows2008R2Domain : PASSED
   
   Testing required TCP ports to <server_IP_address>:
   Checking TCP port 53: PASSED
   Checking TCP port 88: PASSED
   Checking TCP port 389: PASSED
   
   Testing required UDP ports to <server_IP_address>:
   Checking UDP port 53: PASSED
   Checking UDP port 88: PASSED
   Checking UDP port 389: PASSED
   ```

Nachfolgend der Quellcode für die Anwendung **DirectoryServicePortTest**.

```
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.DirectoryServices.ActiveDirectory;
using System.Threading;
using System.DirectoryServices.AccountManagement;
using System.DirectoryServices;
using System.Security.Authentication;
using System.Security.AccessControl;
using System.Security.Principal;

namespace DirectoryServicePortTest
{
    class Program
    {
        private static List<int> _tcpPorts;
        private static List<int> _udpPorts;

        private static string _domain = "";
        private static IPAddress _ipAddr = null;

        static void Main(string[] args)
        {
            if (ParseArgs(args))
            {
                try
                {
                    if (_domain.Length > 0)
                    {
                        try
                        {
                            TestForestFunctionalLevel();

                            TestDomainFunctionalLevel();
                        }
                        catch (ActiveDirectoryObjectNotFoundException)
                        {
                            Console.WriteLine("The domain {0} could not be found.\n", _domain);
                        }
                    }

                    if (null != _ipAddr)
                    {
                        if (_tcpPorts.Count > 0)
                        {
                            TestTcpPorts(_tcpPorts);
                        }

                        if (_udpPorts.Count > 0)
                        {
                            TestUdpPorts(_udpPorts);
                        }
                    }
                }
                catch (AuthenticationException ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            else
            {
                PrintUsage();
            }

            Console.Write("Press <enter> to continue.");
            Console.ReadLine();
        }

        static void PrintUsage()
        {
            string currentApp = Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            Console.WriteLine("Usage: {0} \n-d <domain> \n-ip \"<server IP address>\" \n[-tcp \"<tcp_port1>,<tcp_port2>,etc\"] \n[-udp \"<udp_port1>,<udp_port2>,etc\"]", currentApp);
        }

        static bool ParseArgs(string[] args)
        {
            bool fReturn = false;
            string ipAddress = "";

            try
            {
                _tcpPorts = new List<int>();
                _udpPorts = new List<int>();

                for (int i = 0; i < args.Length; i++)
                {
                    string arg = args[i];

                    if ("-tcp" == arg | "/tcp" == arg)
                    {
                        i++;
                        string portList = args[i];
                        _tcpPorts = ParsePortList(portList);
                    }

                    if ("-udp" == arg | "/udp" == arg)
                    {
                        i++;
                        string portList = args[i];
                        _udpPorts = ParsePortList(portList);
                    }

                    if ("-d" == arg | "/d" == arg)
                    {
                        i++;
                        _domain = args[i];
                    }

                    if ("-ip" == arg | "/ip" == arg)
                    {
                        i++;
                        ipAddress = args[i];
                    }
                }
            }
            catch (ArgumentOutOfRangeException)
            {
                return false;
            }

            if (_domain.Length > 0 || ipAddress.Length > 0)
            {
                fReturn = true;
            }

            if (ipAddress.Length > 0)
            { 
                _ipAddr = IPAddress.Parse(ipAddress); 
            }
            
            return fReturn;
        }

        static List<int> ParsePortList(string portList)
        {
            List<int> ports = new List<int>();

            char[] separators = {',', ';', ':'};

            string[] portStrings = portList.Split(separators);
            foreach (string portString in portStrings)
            {
                try
                {
                    ports.Add(Convert.ToInt32(portString));
                }
                catch (FormatException)
                {
                }
            }

            return ports;
        }

        static void TestForestFunctionalLevel()
        {
            Console.WriteLine("Testing forest functional level.");

            DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Forest, _domain, null, null);
            Forest forestContext = Forest.GetForest(dirContext);

            Console.Write("Forest Functional Level = {0} : ", forestContext.ForestMode);

            if (forestContext.ForestMode >= ForestMode.Windows2003Forest)
            {
                Console.WriteLine("PASSED");
            }
            else
            {
                Console.WriteLine("FAILED");
            }

            Console.WriteLine();
        }

        static void TestDomainFunctionalLevel()
        {
            Console.WriteLine("Testing domain functional level.");

            DirectoryContext dirContext = new DirectoryContext(DirectoryContextType.Domain, _domain, null, null);
            Domain domainObject = Domain.GetDomain(dirContext);

            Console.Write("Domain Functional Level = {0} : ", domainObject.DomainMode);

            if (domainObject.DomainMode >= DomainMode.Windows2003Domain)
            {
                Console.WriteLine("PASSED");
            }
            else
            {
                Console.WriteLine("FAILED");
            }

            Console.WriteLine();
        }

        static List<int> TestTcpPorts(List<int> portList)
        {
            Console.WriteLine("Testing TCP ports to {0}:", _ipAddr.ToString());

            List<int> failedPorts = new List<int>();

            foreach (int port in portList)
            {
                Console.Write("Checking TCP port {0}: ", port);

                TcpClient tcpClient = new TcpClient();

                try
                {
                    tcpClient.Connect(_ipAddr, port);

                    tcpClient.Close();
                    Console.WriteLine("PASSED");
                }
                catch (SocketException)
                {
                    failedPorts.Add(port);
                    Console.WriteLine("FAILED");
                }
            }

            Console.WriteLine();

            return failedPorts;
        }

        static List<int> TestUdpPorts(List<int> portList)
        {
            Console.WriteLine("Testing UDP ports to {0}:", _ipAddr.ToString());

            List<int> failedPorts = new List<int>();

            foreach (int port in portList)
            {
                Console.Write("Checking UDP port {0}: ", port);

                UdpClient udpClient = new UdpClient();

                try
                {
                    udpClient.Connect(_ipAddr, port);
                    udpClient.Close();
                    Console.WriteLine("PASSED");
                }
                catch (SocketException)
                {
                    failedPorts.Add(port);
                    Console.WriteLine("FAILED");
                }
            }

            Console.WriteLine();

            return failedPorts;
        }
    }
}
```

## Einen AD Connector erstellen
<a name="create_ad_connector"></a>

Führen Sie die folgenden Schritte aus, um mit AD Connector eine Verbindung zu einem vorhandenen Verzeichnis herzustellen. Bevor Sie dieses Verfahren beginnen, stellen Sie sicher, dass Sie die in [AD-Connector-Voraussetzungen](#prereq_connector) angegebenen Voraussetzungen erfüllt haben.

**Anmerkung**  
Sie können keinen AD Connector mit einer Cloud-Formation-Vorlage erstellen.

**So stellen Sie eine Verbindung mit AD Connector her**

1. Wählen Sie im Navigationsbereich [AWS Directory Service -Konsole](https://console.aws.amazon.com/directoryservicev2/) den Eintrag **Verzeichnisse** und wählen Sie **Verzeichnis einrichten** aus.

1. Wählen Sie auf der Seite **Verzeichnistyp auswählen** die Option **AD Connector** aus und klicken Sie dann auf **Weiter**.

1. Geben Sie auf der Seite **Enter AD Connector information (AD Connector-Informationen eingeben)** die folgenden Informationen ein:  
**Verzeichnisgröße**  
Wählen Sie die Größenoption **Small (Klein)** oder **Large (Groß)**. Weitere Informationen über Größen finden Sie unter [AD Connector](directory_ad_connector.md).  
**Verzeichnisbeschreibung**  
Eine optionale Beschreibung des Verzeichnisses.

1. Geben Sie auf der Seite **Choose VPC and subnets (VPC und Subnetze wählen)** die folgenden Informationen an und wählen Sie dann **Next (Weiter)**.  
**VPC**  
Die VPC für das Verzeichnis.  
**Subnets**  
Wählen Sie Subnetze für die Domain-Controller aus. Die beiden Subnetze müssen zu verschiedenen Availability-Zonen gehören. 

1. Geben Sie auf der Seite **Connect to AD (Mit AD verbinden)** die folgenden Informationen ein:  
**DNS-Name des Verzeichnisses**  
Den vollständig qualifizierten Namen Ihres vorhandenen Verzeichnisses, z. B `corp.example.com`.  
**NetBIOS-Name des Verzeichnisses**  
Den Kurznamen Ihres vorhandenen Verzeichnisses, z. B `CORP`.  
**DNS-IP-Adressen**  
Die IP-Adresse von mindestens einem DNS-Server in Ihrem vorhandenen Verzeichnis. Diese Server müssen von jedem in Schritt 4 angegebenen Subnetz aus erreichbar sein. Diese Server können sich außerhalb von befinden AWS, sofern eine Netzwerkverbindung zwischen den angegebenen Subnetzen und den IP-Adressen des DNS-Servers besteht.  
**Benutzername für Service-Konto**  
Den Benutzernamen eines Benutzers im vorhandenen Verzeichnis. Weitere Informationen zu diesem Konto finden Sie im Abschnitt [AD-Connector-Voraussetzungen](#prereq_connector).  
**Passwort des Service-Kontos**  
Das Passwort für das vorhandene Benutzerkonto. Bei diesem Passwort wird zwischen Groß- und Kleinschreibung unterschieden und es muss zwischen 8 und 128 Zeichen lang sein. Zudem muss es mindestens ein Zeichen aus dreien der vier folgenden Kategorien enthalten:  
   + Kleinbuchstaben (a – z)
   + Großbuchstaben (A – Z)
   + Zahlen (0 – 9)
   + Nicht-alphanumerische Zeichen (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)  
**Confirm password (Passwort bestätigen)**  
Geben Sie das Passwort für das vorhandene Benutzerkonto erneut ein.

1. Überprüfen Sie auf der Seite **Review & create (Überprüfen und erstellen)** die Verzeichnisinformationen und nehmen Sie gegebenenfalls Änderungen vor. Wenn die Informationen richtig sind, wählen Sie **Create directory (Verzeichnis erstellen)**. Es dauert einige Minuten, bis das Verzeichnis erstellt wurde. Sobald sie erstellt wurden, ändert sich der **Status** in **Active**.

Weitere Informationen darüber, was mit Ihrem AD Connector erstellt wird, finden Sie unter[Was wird mit Ihrem AD Connector erstellt](create_details_ad_connector.md).