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)时遇到困难。如果我将该值输出到文件,那么它只写入一个值。

任何帮助,将不胜感激 - 谢谢你

+0

呼应的OU两倍的,两个消息框,或相同的值两次在一个消息框? – Rich

试试这个代码片断理解“分割”功能:

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