ドメインに参加しているワークステーションからAD DSドメイン/フォレストの機能レベルを確認する方法


8

ドメインに参加しているワークステーションからAD DSドメイン/フォレストの機能レベルを定義することは可能ですか?できればCLI / PSを使用し、可能であればドメイン管理者権限なしで...どうすれば達成できますか?

回答:


10

次のPowershellは管理者またはドメイン管理者のアクセスを必要としません。Powershellv2 / v3を使用してドメインに参加しているワークステーションで制限付きユーザーとしてテストしました。サードパーティのツールやPowershellモジュールは必要ありません。

$dse = ([ADSI] "LDAP://RootDSE")

# Domain Controller Functional Level
$dse.domainControllerFunctionality

# Domain Functional Level
$dse.domainFunctionality

# Forest Functional Level
$dse.forestFunctionality

返される値は、明確な機能レベルを表します。

Value  Forest        Domain             Domain Controller
0      2000          2000 Mixed/Native  2000
1      2003 Interim  2003 Interim       N/A
2      2003          2003               2003
3      2008          2008               2008
4      2008 R2       2008 R2            2008 R2
5      2012          2012               2012
6      2012 R2       2012 R2            2012 R2
7      2016          2016               2016

参照:


3

私がここで多かれ少なかれ同じ必要性で終わったので、受け入れられた答えに対するちょうど補完的な解決策。違いは、レベル名がデコードされることです。

Import-Module ActiveDirectory
$ForestRoot = 'top.domain'

(get-adforest -identity $ForestRoot).ForestMode

(get-adforest -identity $ForestRoot).Domains |
ForEach-Object {Get-ADDomain -Identity $_ |
ft DNSRoot,DomainMode -AutoSize}

1
+1。注目に値するのは、Microsoft Powershell AD Moduleです。ADSIの例にはありません。
jscott

右あなたは、それを編集している...
ErikE

マイナーな改善。-identity $ForestRootクエリしようとしているフォレストに参加しているマシンからget-adforestコマンドを実行するときに、実際にはget-adforestコマンドの一部を含める必要はありません。コマンドレットは、現在のマシンの情報を取得するだけです。
Ryan Bolger

2

あなたはそれをチェックしたいのですか、それとも実際に変更したいですか?これを変更するには、ドメイン/フォレストに対する特定の管理者権限が必要です。

dsqueryまたはPS Get-ADDomain(ADモジュールのインポートが必要)なしで考えることができる最も簡単な方法は、JoewareのADFINDコマンドを使用することです。

http://www.joeware.net/freetools/tools/adfind/

adfind -rootdse domaincontrollerfunctionality domainfunctionality forestfunctionality

私のドメインからの出力例:

AdFind V01.47.00cpp Joe Richards(joe@joeware.net)2012年10月

サーバーの使用:DOMAIN-DC1.hahaha.local:389

ディレクトリ:Windows Server 2008 R2

dn:

domainFunctionality:4 [Windows Server 2008 R2ドメインモード]

forestFunctionality:4 [Windows Server 2008 R2フォレストモード]

domainControllerFunctionality:4 [Windows Server 2008 R2モード]

1返されたオブジェクト


1

GUIベースのアプローチでは、Active Directory Explorerを使用できます。ドメインの最上位ノードを右クリックし、[プロパティ]をクリックして、domainControllerFunctionality、domainFunctionality、またはforestFunctionalityの値を確認します。それらは以下に対応する整数値を持っています:

0 =勝利2000
1 =勝利2003混合/中間
2 =勝利2003
3 =勝利2008
4 =勝利2008 R2
5 =勝利2012
6 =勝利2012 R2
7 =勝利2016


0

あなたが何をしようとしているのかわからないため、この質問には少し違った方法で質問する必要があります。これは、PowerShellスクリプトまたはバッチファイルが必要です。これらのタスクを実行できます。それがあなたが求めているものである場合、それは設計上、不可能です。

ただし、ワークステーションからADを管理することについて質問している場合は、ユーザーがコマンドを実行できるスクリプトをユーザーに渡すことにより、そうでない場合はそのユーザーが実行できない(つまり、特権のないサービスアカウントからADにクエリを実行する)必要があります。使用しているPowershellのバージョン、および使用しているサーバーのバージョン。

また、委任したい一度に1つのタスクに対してAD Webサービスを検討することもできます。

TechNetの投稿から:以下のDSQUERYを実行してください

Dsquery * CN = Partitions、CN = Configuration、DC = Mydomain、DC = com -scope base -attr msDS-Behavior-Version

出力:msDS-Behavior-Version 2

DFLおよびFFLを示す属性:-フォレストレベルの設定

名前:msDS-Behavior-Versionパス:CN = Partitions、CN = Configuration、DC =、DC = com

値:0または設定なし=混合レベルのフォレスト

1 = Windows Server 2003中間フォレストレベル2 = Windows Server 2003フォレストレベル3 = Windows Server 2008フォレストレベル

  • ドメインレベルの設定

名前:msDS-Behavior-Versionパス:DC =、DC =、DC = com(ドメインルート)値:0または未設定=混合レベルドメイン

1 = Windows Server 2003ドメインレベル2 = Windows Server 2003ドメインレベル3 = Windows Server 2008ドメインレベル

  • 混合/ネイティブモード設定

名前:ntMixedDomain

パス:DC =、DC =、DC = com(ドメインルート)

値:0 =ネイティブレベルドメイン1 =混合レベルドメイン

これを実行するためのユーザーの役割要件についてはわかりませんが、それを変更することはなく、すべてDSQUERYを使用しています(RSATから、Microsoftから無料でダウンロードできます)。その終わりを見る必要がある場合はコメントしてください。


私の質問は、ドメイン管理者ではないIT部門のメンバーが、ドメイン/フォレストの機能レベルをすばやく確認/再確認する必要がある状況で、それを確認するための適切なすべてのコンソールとツールを知っている必要があり、適切なすべてのコンソールとツールを持っている必要がない場合です。 ..迅速かつ簡単な方法でうまくいく
ミハイル

1
この質問は「これを行う方法」の練習問題だと思いますが、それでも、適切な権限を持っていないITチームメンバーがこれを行う必要があるという単一のシナリオは考えられません彼らの仕事。
joeqwerty 2013年

大企業で働いていたのですが、こういう会社ではこういう情報が参考になります。次に例を示します。場所に古いDCのドメインがあり、チケットリクエストを満たすために新しいFLの機能を実装する必要があります。あなたはすでに過負荷のドメイン管理者と仲良くすることはできません。必要なアップグレードを正当化するには、プロセスをまとめる必要があります。これは純粋に調査であり、変更リクエストをまとめて取得できるようにする必要があります。これはITILの要件です。これは、このような状況で非常に役立ちます。
user1467163 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.