• Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN
info@firstattribute.com
by FirstAttribute
Active Directory FAQActive Directory FAQ
  • Active Directory
    • AD Consulting
    • AD Design
      • Domain Name festlegen
      • Domain Struktur einrichten
      • Forest Struktur definieren
    • AD Management
    • AD Automation
      • Dynamic Access Control (DAC)
    • AD Federation Services
      • ADFS Betrieb
      • ADFS und Office365
      • ADFS und Cisco Unified Communications Manager
      • SAML und ADFS 2.0
  • Azure / M365
    • Azure AD
    • Microsoft 365 (O365)
  • Migration
    • Active Directory Migration
    • Exchange Migration
    • File Server Migration
    • Lotus Notes Migration
    • Novell Migration
  • Wissen
    • Alle Beiträge
    • Administration
    • PowerShell
    • Migration
    • Exchange
    • Tools
  • Kontakt
    • Wir über uns
    • Kontakt
  • EN

PowerShell: Nächstgelegenen DC finden – NextClosestSite

Mai 18, 2016 (Letztes Update) | Posted by Jens Künzler Administration, PowerShell |

 

PowerShell: Nächstgelegenen DC finden – NextClosestSite

Zur Zeit unterstütze ich einen größeren Konzern bei einer Migration. Ein Kollege kam auf mich zu und fragte, ob ich ihm ein Powershell-Skript zur Durchforstung des gesamten AD Forests schreiben könnte.

Na klar – sagte ich 🙂

Hier ist das Skript um den nächstgelegenen Domain Controller zu finden.

Forest durchforsten mit Get-ADForest

Mit den Active Directory cmdLets von Microsoft lässt sich ein AD Forest sehr schön durchforsten.
Zunächst holt man sich mit dem cmdLet Get-ADForest den Forest als Objekt in eine Variable:

1
$forest = Get-ADForest <forest.com>

Im nächsten Schritt will ich alle Domains des Forest durchforsten.
Das Forest Objekt hat eine Eigenschaft “Domains“, welche eine Liste der Domains des Forests enthält.
Mit einer ForEach Schleife kann man sehr einfach jede einzelne Domain des Forests ansprechen:

1
2
3
4
ForEach ($Domain in $Forest.Domains)
{
   Write-Host "Current domain name: " $Domain
}

Nahegelegenen DC abfragen mit Get-ADDomainController

Das war bis hier her sehr schön und einfach. Jedoch in einer großen verteilten Umgebung, mit weltweit verteilten Domain Controllern, möchte ich die Abfragen nicht an einen DC am anderen Ende der Welt richten.

Ich möchte gern den optimalen, nächstgelegenen DC finden.
Für diese Aufgabe gibt es ein spezielles cmdLet, welches ich zu diesem Zweck verwende:

Get-ADDomainController
Mit den beiden Parametern -Discover und -NextClosestSite nutzt das cmdLet die Active Directory Sites & Services Konfiguration um den nächst gelegenen Domain Controller für meinen Standort bzw. mein IP Subnetz auszuwählen.

1
2
3
4
5
ForEach ($Domain in $Forest.Domains)
{
   Write-Host "Current domain name: " $Domain
   $DCobj = Get-ADDomaincontroller -DomainName $Domain -Discover -NextClosestSite
}

DC-Namen auslesen

Das Objekt $DCobj kann man leider nicht direkt verwenden um damit einen DC für anderes cmdLets zu definieren. Mit einem Zwischenschritt lässt sich der Name des DC aus der Eigenschaft HostName des $DCobj auslesen und in die Variable $DChost als String schreiben.

1
2
3
4
5
6
ForEach ($Domain in $Forest.Domains)
{
   Write-Host "Current domain name: " $Domain
   $DCobj = Get-ADDomaincontroller -DomainName $Domain -Discover -NextClosestSite
   [string]$DChost = $DCobj.HostName
}

DC-Namen mit Parameter -Server verwenden

Nachdem wir den Hostname des nächst gelegenen Domain Controllers nun herausgefunden haben, können wir diesen bei den meisten AD cmdLets mit dem Parameter -Server verwenden um den gewünschen DC anzugeben.

1
2
3
4
5
6
7
ForEach ($Domain in $Forest.Domains)
{
   Write-Host "Current domain name: " $Domain
   $DCobj = Get-ADDomaincontroller -DomainName $Domain -Discover -NextClosestSite
   [string]$DChost = $DCobj.HostName
   $result = Get-ADObject -LDAPFilter "(attribute=value)" -Server $DChost
}

Mit dieser Prozedur nutzt das cmdLet Get-ADObject den nächstgelegenen Domain Controller zur Abfrage der AD Domain. Ausgewählt wurde der DC mit dem cmdLet Get-ADDomaincontroller unter Berücksichtigung der Active Directory Sites & Services Konfiguration.


 

FirstAttribute AG

Dieser Artikel entstand bei Projekten der FirstAttribute AG
AD Consulting
| AD Migration

Sie planen Veränderungen an Ihrem AD?
Nehmen Sie Kontakt zu uns auf, wir hören Ihnen gern zu.


Artikel weiterempfehlen:
  • teilen
  • tweeten
  • sharen
  • xingen
  • mailen
Artikel erstellt am: 31.07.2015
Tags: Domain ControllerGet-ADObjectTry next closest site
0

You also might be interested in

DCPROMO: Domain Controller heraufstufen schlägt fehl

Apr 24, 2015

Neulich wollte ich bei einem Kunden einen neuen Domänen-Controller zu[...]

Windows Server 2012 – Virtuelle Domain Controller und Snapshots

Dez 5, 2013

Kaum ein Unternehmen verzichtet heute auf den Einsatz von virtuellen[...]

Server-2012-R2-DC-in-Domaene-ad-schema

AD Schema: Server 2012 R2 DC in Domäne aufnehmen

Dez 17, 2015

In der vergangenen Zeit musste ich häufiger die folgende Frage[...]

Leave a Reply

<p>Danke für Ihre Anregungen, Fragen und Hinweise.<br/>Infos zum <a href="https://www.active-directory-faq.dekontakt/">Datenschutz</a></p>
Cancel Reply

Wer schreibt ?

Consultants und Entwickler der FirstAttribute arbeiten seit mehr als 20 Jahren in IAM-, Migrations- und Cloud-Transition-Projekten.
Zusammen verfügen Sie über einen umfangreichen, wertvollen Erfahrungsschatz im Bereich Active Directory und Azure AD und teilen diesen auf Active Directory FAQ.

Neueste Artikel

  • Teams Benennungsrichtlinien definieren
  • Bitlocker-Recovery Password mit PowerShell auslesen
  • Neuen Exchange-Ordner im Postfach automatisch anlegen
  • AD Gruppenverwaltung delegieren
  • Mailversand über O365 automatisieren


FirstAttribute

AD Identity Management | Jobs

Kontakt aufnehmen

Sie haben eine Frage oder Anmerkung? Schicken Sie uns schnell eine Nachricht.

Nachricht senden
Jetzt AD Tasks vereinfachen und delegieren: FirstWare IDM-Portal

Folgen Sie uns

Kontakt

  • FirstAttribute AG
  • Am Büchele 18, 86928 Hofstetten, Germany
  • +49 89 215 442 400
  • https://www.firstattribute.com

Schlagwörter

.Net ACL Active Directory AD LDS AD Objekt Berechtigung Berechtigungen Cloud cmdlets Delegation Domain Controller dynamicgroup dynamische Gruppen Exchange Exchange 2016 Exchange Migration Federation FirstWare Global Catalog Group Policy Gruppen Gruppenmitgliedschaft IDM-Portal LDAP lokale Gruppen Microsoft Azure Migration New-ADUser Novell NTFS O365 Office 365 PowerShell QMM QMM AD QMM Exchange Quest Migration Manager Schema Set-ADUser SID SID History Update Windows Windows 10 Windows Server 2012 R2

Neueste Kommentare

  • Alex bei Powershell – Home Directory anlegen und Berechtigungen vergeben
  • Kupfer Küchenmischbatterie bei PowerShell – Gruppen-Manager Berechtigung setzen
  • Kevin bei Verschachtelung von Gruppen im AD
Login
Impressum
Datenschutzerklärung

© 2021 · Active-Directory-FAQ by firstattribute.com

Prev Next