Почему мой файл сценария VBS не работает при копировании на мою страницу ASP? - PullRequest
0 голосов
/ 18 апреля 2009

Я получил скрипт, запрашивающий Active Directory, когда он вызывается из командных окон, но он не работает на моей странице ASP Вместо echo("message") в файле VBS я использовал Response.Redirect(message) в моем ASP. Итак, вот код, который отлично работает в окне CMD, но не в IE. Во всяком случае, я надеюсь, что кто-то может помочь.

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

edit: ошибка, которую я продолжаю получать: Произошла ошибка на сервере при обработке URL. Пожалуйста свяжитесь с системным администратором. Если вы системный администратор, нажмите здесь, чтобы узнать больше об этой ошибке.

Мой компьютер работает под управлением Windows Vista, и я действительно начинаю его ненавидеть

Ответы [ 2 ]

1 голос
/ 18 апреля 2009

Какую ошибку он возвращает?

Одной из возможных причин могут быть учетные данные, под которыми выполняется страница ASP, которые не имеют разрешения на запрос Active Directory. Если это веб-страница по умолчанию, она, вероятно, работает с анонимной аутентификацией, что переводится как [LOCALMACHINE] \ IUSR_ [LOCALMACHINE].

Это объясняет, почему он запускался при запуске под вашими учетными данными, но не в контексте IIS.

0 голосов
/ 18 апреля 2009

На самом деле предоставление нам сообщения об ошибке поможет.

Если вы используете IE из коробки, вы его не увидите. Перейдите в меню «Сервис», «Свойства обозревателя», вкладка «Дополнительно» и отключите «Показывать дружественные сообщения об ошибках HTTP»

Обычно доступ к таким вещам, как активный каталог, не работает из-за контекста безопасности, в котором работает анонимный пользователь IIS по умолчанию, поэтому, если вы переключитесь на интегрированную безопасность, вы можете получить дальнейшие действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...