VBS从AD和OU检索计算机OU案例声明以执行操作
问题描述:
我从ScriptIT中有这段代码。VBS从AD和OU检索计算机OU案例声明以执行操作
Set objSysInfo = CreateObject("ADSystemInfo")
strComputer = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputer)
arrOUs = Split(objComputer.Parent, ",")
arrMainOU = Split(arrOUs(0), "=")
wscript.echo arrMainOU(1)
我遇到的问题是,arrMainOU(1)回声两次。我尝试设置一个简单的测试,但它失败了。我在这里或谷歌上看不到这个问题。
If arrMainOU(1) = "myOU" Then
wcript.echo "true"
End If
我需要将arrMainOU(1)中的1个值与包含OU字符串的数组进行比较。我需要一个case语句,根据它是OU1还是OU2等来执行操作。
虽然我在评估arrMainOU(1)时遇到困难。如果我将该值输出到文件,那么它只写入一个值。
任何帮助,将不胜感激 - 谢谢你
答
试试这个代码片断理解“分割”功能:
Set objSysInfo = CreateObject("ADSystemInfo")
strComputer = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputer)
arrOUs = Split(objComputer.Parent, ",")
retstring = ""
For ii = LBound(arrOUs) To UBound(arrOUs)
arrMainOU = Split(arrOUs(ii), "=")
For jj = LBound(arrMainOU) To UBound(arrMainOU)
retstring = retstring & "arrOUs(" & CSTR(ii) & ") = " & arrOUs(ii) & vbTab
retstring = retstring & "arrMainOU(" & CSTR(jj) & ") = " & arrMainOU(jj) & vbNewLine
Next
retstring = retstring & vbNewLine
Next
Wscript.Echo retstring
呼应的OU两倍的,两个消息框,或相同的值两次在一个消息框? – Rich