2013-02-22 35 views
2

我正在構建一個包裝到HTA中的小工具箱以用於幫助臺。我想包括的其中一項任務是能夠快速提取有關域用戶的信息。現在,通常情況下,我只會使用Net User USERNAME /domain之類的東西,並獲得一個快速的小東西。很棒。通過給定用戶名和域名的腳本查找組成員身份

但是,我似乎無法找到一種方法將其整合到工具包的腳本中。我大概可以使用cscript,只是轉儲輸出,但是然後我會有一段時間讓它格式化爲任何交互式(HTA的全部)。

我真的很想使用ADSI之類的東西。我可以很容易地獲得給定組的成員或給定用戶的主要組,但我似乎無法找到一種方法來列出域中所有用戶名的成員身份。

請注意,拉動所有組和用戶,然後比較它們不是一個選項。這是針對擁有數十萬用戶的域。

我保證我已經在這個東西上搜索了幾天。在文檔等方面挖掘,但似乎沒有什麼似乎做我所需要的。

+0

你能不能讀cscript的/ WScript的信息,並將其保存到一個臨時文本文件?然後只需在HTA中讀取文件並在閱讀後刪除它。 – Teemu 2013-02-22 17:31:06

+0

我可以,而且這對於infodump會很好,但我真的很想將它變成可解析的格式,這樣我就可以讓技術人員通過HTA內的javascipt單擊和編輯項目。 – meteorainer 2013-02-22 18:21:34

+0

從IE8上可以得到JSON ...你對老年人IE瀏覽器或怪癖沒有這樣做嗎? – Teemu 2013-02-22 18:23:55

回答

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> 
相關問題