2013-02-22 3 views
2

헬프 데스크에서 사용하기 위해 HTA에 싸인 작은 툴킷을 구축하고 있습니다. 내가 포함하고 싶은 과제 중 하나는 도메인 사용자에 대한 정보를 신속하게 가져 오는 기능입니다. 자, 일반적으로, 나는 단지 Net User USERNAME /domain과 같은 것을 사용하고 좀 더 짧은 신호를 얻을 것입니다. 훌륭하게 작동합니다.주어진 사용자 이름과 도메인을 가진 스크립트를 통해 그룹 회원 정보 찾기

그러나 툴킷 용 스크립트에이를 통합하는 방법을 찾지 못하는 것 같습니다. 아마도 cscript를 사용하여 출력물을 덤프 할 수는 있지만, 대화 형 (HTA의 전체 지점)으로 서식을 지정하는 데는 시간이 걸릴 것입니다.

저는 ADSI와 같은 것을 사용하고 싶습니다. 주어진 그룹의 구성원이나 지정된 사용자의 기본 그룹을 쉽게 얻을 수 있지만 도메인의 모든 사용자 이름을 나열하는 방법을 찾지 못하는 것 같습니다.

모든 그룹과 사용자를 끌어와 비교하는 것은 옵션이 아닙니다. 이것은 수십만 명의 사용자가있는 도메인을위한 것입니다.

나는이 일에 대해 며칠 동안 봤다고 약속한다. 문서 등에서 주위를 파고 들지만 실제로 필요한 것은 아무것도없는 것 같습니다.

+0

당신은에서 cscript/WScript와는와 정보를 읽을 수 없습니다 임시 텍스트 파일에 저장? 그런 다음 HTA에서 파일을 읽고 읽은 다음 삭제하십시오. – Teemu

+0

그럴 수도 있고, 그럴 수도 infodump지만, 정말 기술 형식을 클릭하고 HTA 내에서 javascipt를 통해 항목을 편집 할 수 있도록 구문 형식으로 가져 가고 싶습니다. – meteorainer

+0

IE8에서 JSON을 사용할 수 있습니다 ... 이전 IE 또는 Quirks에서는이 작업을 수행하지 않습니까? – Teemu

답변

0

이것은 CSCRIPT을 실행하고 출력을 덤프하는 것에 대한 귀하의 의견과 비슷합니다.

대신 WScript.Shell 개체, 특히 Exec 메서드를 사용하여 HTA 내에서 명령을 실행하고 stdout.readAll을 사용하여 출력을 빨아 들일 수 있습니다.

다음의 예는 당신이 당신의 HTA에 IPCONFIG의 출력을 캡처하기 위해이 작업을 수행하는 방법을 보여줍니다 :

<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>