2009-04-17 2 views
0

명령 창에서 호출 할 때 Active Directory를 쿼리하는 스크립트가 생겼지 만 ASP 페이지에서는 작동하지 않습니다. VBS 파일에 echo("message") 대신 Response.Redirect(message)을 ASP에 사용했습니다. 그래서 여기에 CMD 창에서 잘 작동하는 코드가 있지만 IE에서는 없습니다. 어쨌든, 나는 누군가가 도울 수 있기를 바랍니다.내 ASP 페이지에 복사 할 때 내 VBS 스크립트 파일이 작동하지 않는 이유는 무엇입니까?

Option Explicit 

Dim objRootDSE, strDNSDomain, objCommand, objConnection 
Dim strQuery, strBase, strFilter, strAttributes 
Dim objRecordSet, strAlias, strName, strSAM 
Dim blnFlag 

''// Use ADO to search Active Directory. 
Set objCommand = CreateObject("ADODB.Command") 
Set objConnection = CreateObject("ADODB.Connection") 
objConnection.Provider = "ADsDSOObject" 
objConnection.Open "Active Directory Provider" 
objCommand.ActiveConnection = objConnection 

''// Set AD query propeties 
strBase = "<LDAP://10.10.10.10>" 
strFilter = "(&(objectCategory=person)(objectClass=user)(cn="gossmari")" 
strAttributes = "displayName,mailNickname,sAMAccountName" 

''// AD query 
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree" 
objCommand.CommandText = strQuery 
objCommand.Properties("Page Size") = 100 
objCommand.Properties("Cache Results") = False 
Set objRecordSet = objCommand.Execute 

    Do Until objRecordSet.EOF 
     strName = objRecordSet.Fields("displayName") 
     strAlias = objRecordSet.Fields("mailNickname") 
     strSAM = objRecordSet.Fields("sAMAccountName") 
     objRecordSet.MoveNext 
    Loop 

''// Echo the requested information 
''// replaced by Response.Redirect("http://www.google.com/" & strName) 
Wscript.Echo strSAM & " ; " & strAlias & " ; " & strName 

objConnection.Close 

편집 : 나는 점점 계속 오류 : URL을 처리 할 때 하는 동안 서버에 오류가 발생했습니다. 시스템 관리자에게 문의하십시오. 시스템 관리자 인 경우이 오류에 대한 자세한 내용을 보려면 여기를 클릭하십시오.

내 컴퓨터가 윈도우 비스타를 실행하고 나는 정말

+0

해당 코드는 VBS로 실행되지 않습니다. strFilter로 시작하는 줄에서 인용문 문제가 발생했습니다 ... 또한 오류 메시지와 함께 도움이됩니다. (또한 Response.Redirect는 브라우저를 리디렉션합니다. Response.Write는 물건을 밖으로 씁니다 ..) – svinto

답변

0

사실은 우리에게 도움이 될 오류 메시지를주고 미워하기 시작하고있다.

IE를 실행중인 경우 상자가 보이지 않습니다. 도구, 인터넷 옵션, 고급 탭으로 이동하여 "친숙한 HTTP 오류 메시지 표시"를 해제하십시오.

일반적으로 기본 익명 IIS 사용자가 실행하는 보안 컨텍스트로 인해 활성 디렉토리와 같은 항목에 액세스 할 수 없습니다. 통합 보안에 이르면 더 많은 것을 얻을 수 있습니다.

1

어떤 오류가 반환됩니까?

가능한 원인 중 하나는 ASP 페이지에서 실행중인 자격 증명이 Active Directory를 쿼리 할 수있는 권한이없는 것일 수 있습니다. 기본 웹 페이지 인 경우 익명 인증으로 실행 중이며 [LOCALMACHINE] \ IUSR_ [LOCALMACHINE]으로 변환됩니다.

이렇게하면 자격 증명에 따라 실행될 때 IIS가 실행되는 이유가 설명됩니다.

관련 문제