2009-04-17 4 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を処理するとき サーバーでエラーが発生しました。システム管理者に連絡してください。 システム管理者は、ここをクリックしてこのエラーの詳細を確認してください。

マイコンピュータは、Windows Vistaを実行していると私は本当にそれが

+0

そのコードはVBSとしても実行されません。 strFilterで始まる行に引用符で囲まれた問題があります...また、あなたが受け取ったエラーメッセージにも役立ちます。 (Response.Redirectはブラウザをリダイレクトし、Response.Writeはものを書き出します..) – svinto

答えて

0

実際には、私たちに役立つだろうエラーメッセージを与える嫌いに始めています。

IEを実行している場合は表示されません。 [ツール]、[インターネットオプション]、[詳細設定]タブに移動し、[フレンドリーなHTTPエラーメッセージを表示]をオフにします。

一般的にアクティブディレクトリのようなものはデフォルトの匿名IISユーザーが実行するセキュリティコンテキストのため動作しません。統合されたセキュリティへとさらに進化する可能性があります。

1

返品は何ですか?

考えられる原因の1つは、ASPページが実行している資格情報に、Active Directoryを照会する権限がないことが考えられます。デフォルトのWebページの場合は、おそらく[LOCALMACHINE] \ IUSR_ [LOCALMACHINE]に変換される匿名認証で実行されています。

これは、IISのコンテキストではなく、資格情報で実行されたときに実行された理由を説明します。

関連する問題