web-dev-qa-db-ja.com

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

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

8
Mikhail

次の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

参照:

10
jscott

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

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}
3
ErikE

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

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([email protected])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返されたオブジェクト

2
TheCleaner

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年に勝利

1
bogdan

あなたが何をしようとしているのかわからないので、この質問を少し違った方法で行う必要があります。これを読むと、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から無料でダウンロードできます)。その終わりを見る必要がある場合はコメントしてください。

0
user1467163