タグ
  Active Directory (51)
  ANSI (1)
  bash (1)
  BAT (14)
  bind (1)
  CentOS (3)
  C言語 (4)
  DNS (3)
  Excel (1)
  Fedora (4)
  FreeBSD (3)
  iSCSI (1)
  Java (11)
  JavaScript (6)
  Link (4)
  Linux (15)
  Mail (1)
  Microsoft (4)
  NIS (1)
  OpenLDAP (2)
  OpenSolaris (4)
  PHP (2)
  PostgreSQL (2)
  PowerShell (31)
  RFC (3)
  Solaris (10)
  SQL Server (1)
  Ubuntu (3)
  VBScript (65)
  Visual Basic (1)
  VMware (2)
  Windows (14)
  WMI (16)
  WSF (5)
  WSH (10)
  作成中 (5)
  慣用句 (1)
  正規表現 (6)
VBScript で Active Directory の機能レベルを調べる
On Error Resume Next
Dim baseDN, objRootDSE, objDomain
Dim intBehavior, arrBehavior(4), arrNativeOrMix(1)
Dim strResult

baseDN = ""
arrBehavior(0) = "Windows 2000 "
arrBehavior(1) = "Windows Server 2003 中間"
arrBehavior(2) = "Windows Server 2003"
arrBehavior(3) = "Windows Server 2008"
arrBehavior(4) = "Windows Server 2008 R2"
arrNativeOrMix(0) = "ネイティブ"
arrNativeOrMix(1) = "混在"

Set objRootDSE = GetObject("LDAP://rootDSE")
If Err.Number <> 0 Then
  WScript.Echo "ドメイン接続に失敗しました。終了します。"
  WScript.Quit
End If
baseDN = objRootDSE.Get("defaultNamingContext")

' Domain Functional Level
Set objDomain = GetObject("LDAP://" & baseDN)
objDomain.GetInfo
intBehavior = 0
strResult = "Domain:" & vbTab
On Error Resume Next
intBehavior = objDomain.Get("msDS-Behavior-Version")
If Err.Number <> 0 Or intBehavior = 0 Then
  intBehavior = objDomain.Get("nTMixedDomain")
  strResult = strResult & arrBehavior(0) & arrNativeOrMix(intBehavior)
ElseIf intBehavior > UBound(arrBehavior) Or intBehavior < 0Then
  strResult = strResult & "Unknown Level: " & intBehavior
Else
  strResult = strResult & arrBehavior(intBehavior)
End If
On Error Goto 0

' Forest Functional Level
intBehavior = 0
strResult = strResult & vbNewLine & "Forest:" & vbTab
Set objDomain = GetObject("LDAP://CN=Partitions,CN=Configuration," & baseDN)
objDomain.GetInfo
On Error Resume Next
intBehavior = objDomain.Get("msDS-Behavior-Version")
If Err.Number <> 0 Or intBehavior = 0 Then
  strResult = strResult & arrBehavior(0)
ElseIf intBehavior > UBound(arrBehavior) Or intBehavior < 0Then
  strResult = strResult & "Unknown Level: " & intBehavior
Else
  strResult = strResult & arrBehavior(intBehavior)
End If
On Error Goto 0

WScript.Echo strResult
[リロード] [記事修正] [新規作成] [使用方法]
©2004-2010 UPKEN