通过给定用户名和域的脚本查找组成员身份

时间:2013-02-22 17:10:50

标签: scripting hta active-directory-group

我正在构建一个包含在HTA中的小工具包,用于帮助台。我想要包括的任务之一是能够快速提取有关域用户的信息。现在,通常情况下,我会使用像Net User USERNAME /domain这样的东西,并快速获得一点点。效果很好。

但是,我似乎无法找到将其集成到工具包脚本中的方法。我可能会使用cscript并只是转储输出,但是我会有一段时间将它格式化为任何交互式(HTA的整点)。

我真的很想使用像ADSI这样的东西。我可以很容易地获得给定组的成员或给定用户的主要组,但我似乎无法找到在域上列出用户名的所有成员资格的方法。

注意,拉动所有组和用户,然后比较它们不是一种选择。这适用于拥有数十万用户的域名。

我保证我已经用Google搜索了好几天。在文档等中挖掘,但似乎并没有真正做我需要的东西。

1 个答案:

答案 0 :(得分:0)

这类似于关于运行CSCRIPT并转储输出的评论。

您可以考虑使用WScript.Shell对象,具体而言,使用Exec方法从HTA中运行命令,并使用stdout.readAll来吸取输出。

以下示例显示了如何将IPCONFIG的输出捕获到HTA中:

<html>
<head>
<hta:application icon="http://www.stackoverflow.com/favicon.ico"/>
<title>WScript.Shell Example</title>
<script language="VBScript">
Sub RunCommand
  Dim wshShell
  Set wshShell = CreateObject("WScript.Shell")
  Dim wshExec
  Set wshExec = wshShell.Exec("IPCONFIG")
  textAreaResult.value = wshExec.stdout.readall
End Sub
</script>
</head>
<body onload="RunCommand">
<textarea id="textAreaResult" style="width:100%;height:300"/>
</textarea>
</body>
</html>