web-dev-qa-db-ja.com

Active Directoryドメインコントローラーの名前を検索する

ネットワーク上のADドメインコントローラーの名前/ IPアドレスを確認するにはどうすればよいですか?

131
user18682

ADのDNSサーバーを使用するようにDNSが構成されている任意のコンピューターで、次の操作を行います。

  • スタート->実行-> nslookup

    set type=all
    _ldap._tcp.dc._msdcs.DOMAIN_NAME
    

DOMAIN_NAMEを実際のドメイン名に置き換えます。 example.com。続きを読む こちら

150
blank3

ドメインのメンバーであるコンピューターの場合、環境変数LOGONSERVERには、現在のユーザーを認証したDCの名前が含まれます。これは明らかにマルチDC環境ではすべてのDCになるわけではありません。しかし、ドメインコントローラーの名前をすばやく見つける方法が必要な場合は、コマンドシェルから次のように入力します。

set l <enter>

DCの名前を含め、「L」で始まるすべての環境変数を返します。

66
Helvick

言及されていない、非常に簡単で迅速なオプションは、コマンドプロンプトからこれを実行することです。

nltest /dclist:domainname

「domainname」をあなたのドメインに置き換えてください

その他のオプションを実行して詳細を確認することもできます。

/dcname:domainnameはPDCドメインの名前を取得します/dsgetdc:domainnameは他の情報のフラグを持っています

より多くのオプションを取得するには、プロンプトでnltest /?を試してください! :)

40
Abraxas

これにより、Powershellで最も近いドメインコントローラーが返されます。

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName
21
Mark Henderson

コマンドプロンプトからgpresultを実行します。あなたは得るでしょう:

  • 一般的なワークステーションとドメイン情報
  • computeruserの両方:
    • ADの識別名と、ポリシーの適用元DC
    • 適用されたグループポリシーオブジェクト
    • メンバーのセキュリティグループのリスト

こちらが gpresultの実行結果の出力例 です。 gpresult /zを指定して、より詳細な情報を取得することもできます。

17
ErikE

ADドメインコントローラーによって管理されている、またはドメインコントローラーとして機能しているネットワーク上にUnix/Linuxマシンが存在する可能性があるため、DNSとDHCPがチェックする最良の方法です。

さらに、Active Directoryを検討することは、MicrosoftのバージョンのKerberos、LDAP、dhcp、dnsにすぎません。レイヤー7+よりも低いレイヤーで物事を理解してデバッグする方が良いでしょう。これは、オペレーティングシステムがこれらの同じ要求を実行し、各プロトコルの基になるRFCが実際に「ここにお気に入りのツールを挿入する」レベルではなくOSIレベルで動作するためです。

さらに進んで、dhcpにオプション6、15、および44を照会して、 ドメイン名ドメイン名サーバー 、および Wins/NetBIOS)を取得できます。ネームサーバー

次に、dnsを使用して、_kerberos._tcp、_kpasswd._tcp、_LDAP._TCP.dc._msdcs、および_ldap._tcp SRVレコードを確認します。

nslookup -type=srv _kerberos._tcp.EXMAPLE.COM
nslookup -type=srv _kpasswd._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.dc._msdcs.EXAMPLE.COM

.EXAMPLE.COM ::= value returned from dhcp option-1

これは3つの領域に分類されます。2つはプロトコルでサポートされているDNS-SDレコードです。

  • _kerberos._tcpおよび_kpasswd._tcp(UNIX/Linux/OSX +一部のWindowsネットワークでも_kadmin._tcp)はケルベロス用です
  • _ldap._tcpはldap用です(openldap、opendc、Sun/Oracleディレクトリ、ms ad)_LDAP._TCP.dc._msdcsは、ドメインコントローラをマップするためのMicrosoftのldapに対する唯一の拡張機能です。
10
Dwight Spencer

原油CMD

DC名前を見つけるだけ

GetDcNames.cmdとして保存:

nslookup -type=any %userdnsdomain%.

GetDcNames.cmdとして実行します。

(注:「%userdnsdomain%。」の末尾のドットは意図的なものです。ローカルのnslookupがDNS検索パス文字列を使用しないようにします。)

AD関連のDNSドメインをさらに検索

DNSドメイン名を覚えたり、すべてを入力したりする必要がないように、すばやくダーティなバッチファイルを作成しました。 (リストが完全でない可能性があります。)

ドメインに参加しているマシンから機能します。マシンがドメインに参加していない場合は、USERDNSDOMAINを必要なものに手動で設定する必要があります。

TestAdDnsRecords.cmdとして保存:

@setlocal
@REM Test AD DNS domains for presence.
@REM For details see: http://serverfault.com/a/811622/253701

nslookup -type=srv _kerberos._tcp.%userdnsdomain%.
nslookup -type=srv _kerberos._udp.%userdnsdomain%.
@echo .

nslookup -type=srv _kpasswd._tcp.%userdnsdomain%.
nslookup -type=srv _kpasswd._udp.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.dc._msdcs.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.pdc._msdcs.%userdnsdomain%.
@echo .

@REM Those next few lines here are forest specific:
@REM Change the next line your current domain is not also the forest root.
@SET "DNSFORESTNAME=%USERDNSDOMAIN%"

nslookup -type=srv _ldap._tcp.gc._msdcs.%DNSFORESTNAME%.
@echo .

nslookup -type=srv _gc._tcp.%DNSFORESTNAME%.

TestAdDnsRecords.cmd | moreとして実行します。多くのテキスト出力があります。

出典

2
StackzOfZtuff