{"id":10700,"date":"2024-02-20T21:28:34","date_gmt":"2024-02-21T02:28:34","guid":{"rendered":"https:\/\/www.rushworth.us\/lisa\/?p=10700"},"modified":"2024-02-22T23:56:09","modified_gmt":"2024-02-23T04:56:09","slug":"determining-active-directory-version","status":"publish","type":"post","link":"https:\/\/www.rushworth.us\/lisa\/?p=10700","title":{"rendered":"Determining Active Directory Version"},"content":{"rendered":"<p>We have a number of applications that authenticate to Active Directory. Invariably, when there are authentication issues, the vendor support person asks &#8220;what version of AD is this?&#8221; &#8230; not an unreasonable question, <em>but<\/em> also not something the person who supports Application XYZ is apt to <em>know<\/em> in a larger company. Fortunately, there are a few places within the directory that you can find details about AD versions.<\/p>\n<p>The simplest is the version of Windows the domain controllers are running &#8230; although it&#8217;s possible domain controllers have been upgraded but the AD functional level has not yet been changed.<\/p>\n<p><tt>ldapsearch -h ad.example.com -D \"ldapquery@example.com\" -w \"P@s54LD@pQu3ry\" -p389 -b \"ou=domain controllers,dc=example,dc=com\" \"(&amp;(objectClass=computer))\" operatingSystem<\/tt><\/p>\n<p>CN=dc007,OU=Domain Controllers,dc=example,DC=com<br \/>\noperatingSystem=Windows Server 2019 Datacenter<\/p>\n<p>CN=dc008,OU=Domain Controllers,dc=example,DC=com<br \/>\noperatingSystem=Windows Server 2019 Datacenter<\/p>\n<p>CN=dc020,OU=Domain Controllers,dc=example,DC=com<br \/>\noperatingSystem=Windows Server 2019 Datacenter<\/p>\n<p>CN=dc021,OU=Domain Controllers,dc=example,DC=com<br \/>\noperatingSystem=Windows Server 2019 Datacenter<\/p>\n<p>&nbsp;<\/p>\n<p>You can also find the objectVersion of the schema:<\/p>\n<p><tt>ldapsearch -h ad.example.com -D \"ldapquery@example.com\" -w \"P@s54LD@pQu3ry\" -p389 -b \"cn=schema,cn=configuration,dc=example,dc=com\" \"(&amp;(objectVersion=*))\" objectVersion<\/tt><\/p>\n<p>CN=Schema,CN=Configuration,dc=example,DC=com<br \/>\nobjectVersion=88<\/p>\n<p>What does 88 mean? It depends! Either Windows 2019 or 2022<\/p>\n<table class=\"table table-sm margin-top-none\" aria-label=\"Table 1\">\n<thead>\n<tr>\n<th>Version<\/th>\n<th>Operating System<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>13<\/td>\n<td>Windows 2000 Server<\/td>\n<\/tr>\n<tr>\n<td>30<\/td>\n<td>Windows Server 2003 (Before R2)<\/td>\n<\/tr>\n<tr>\n<td>31<\/td>\n<td>Windows Server 2003 R2<\/td>\n<\/tr>\n<tr>\n<td>44<\/td>\n<td>Windows Server 2008 (Before R2)<\/td>\n<\/tr>\n<tr>\n<td>47<\/td>\n<td>Windows Server 2008 R2<\/td>\n<\/tr>\n<tr>\n<td>56<\/td>\n<td>Windows Server 2012<\/td>\n<\/tr>\n<tr>\n<td>69<\/td>\n<td>Windows Server 2012 R2<\/td>\n<\/tr>\n<tr>\n<td>87<\/td>\n<td>Windows Server 2016<\/td>\n<\/tr>\n<tr>\n<td>88<\/td>\n<td>Windows Server 2019<\/td>\n<\/tr>\n<tr>\n<td>88<\/td>\n<td>Windows Server 2022<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Or the functional level of the forest and its partitions:<\/p>\n<p><tt>ldapsearch -H ldap:\/\/ad.example.com -D \"ldapquery@example.com\" -w \"P@s54LD@pQu3ry\" -b \"cn=partitions,cn=configuration,dc=example,dc=com\" \"(&amp;(MSDS-Behavior-Version=*))\" MSDS-Behavior-Version<\/tt><\/p>\n<p>dn: CN=Partitions,CN=Configuration,DC=example,DC=com<br \/>\nmsDS-Behavior-Version: 7<\/p>\n<p>dn: CN=EXAMPLE,CN=Partitions,CN=Configuration,DC=example,DC=com<br \/>\nmsDS-Behavior-Version: 7<\/p>\n<p>What does 7 mean? Well, that depends too. It&#8217;s either Windows 2016 or 2019!<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>msDS-Behavior-Version<\/strong><\/td>\n<td><strong>Forest<br \/>\n<\/strong><\/td>\n<td><strong>Domain<\/strong><\/td>\n<td><strong>Domain Controller<br \/>\n<\/strong><\/td>\n<\/tr>\n<tr>\n<td>0<\/td>\n<td>2000<\/td>\n<td>2000 Mixed \/ Native<\/td>\n<td>2000<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>2003 Interim<\/td>\n<td>2003 Interim<\/td>\n<td>N\/A<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>2003<\/td>\n<td>2003<\/td>\n<td>2003<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>2008<\/td>\n<td>2008<\/td>\n<td>2008<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>2008 R2<\/td>\n<td>2008 R2<\/td>\n<td>2008 R2<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>2012<\/td>\n<td>2012<\/td>\n<td>2012<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>2012 R2<\/td>\n<td>2012 R2<\/td>\n<td>2012 R2<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>2016<\/td>\n<td>2016<\/td>\n<td>2016<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>2019<\/td>\n<td>2019<\/td>\n<td>2019<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have a number of applications that authenticate to Active Directory. Invariably, when there are authentication issues, the vendor support person asks &#8220;what version of AD is this?&#8221; &#8230; not an unreasonable question, but also not something the person who supports Application XYZ is apt to know in a larger company. Fortunately, there are a &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[68,1976,303],"class_list":["post-10700","post","type-post","status-publish","format-standard","hentry","category-system-administration","tag-active-directory","tag-ad","tag-ldap"],"_links":{"self":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/10700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10700"}],"version-history":[{"count":4,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/10700\/revisions"}],"predecessor-version":[{"id":10706,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=\/wp\/v2\/posts\/10700\/revisions\/10706"}],"wp:attachment":[{"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rushworth.us\/lisa\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}