OVH Cloud OVH Cloud

Passer du VBS à l'ASP

1 réponse
Avatar
N
Bonjour,

J'ai plusieurs scripts fonctionnant très bien en VBS mais quand je les
passent dans une page ASP. Je prend systématiquement une erreur du type :
Erreur interne du serveur ASP : Le tableau n'existe pas. Je pense qu'il
s'agit peut être d'une question de droits mais je voulais avoir un avis
éclairé. Je précise que pour mes tests les VBS et ASP sont dans le même
répertoire d'un serveur exchange où OWA fonctionne parfaitement.

Voici le script en question :

<% LANGUAGE = VBScript %>
<%
' This VBScript code finds all disabled user accounts in a domain.
' ---------------------------------------------------------------
' From the book "Active Directory Cookbook" by Robbie Allen
' Publisher: O'Reilly and Associates
' ISBN: 0-596-00466-4
' Book web site: http://rallenhome.com/books/adcookbook/code.html
' ---------------------------------------------------------------

' ------ SCRIPT CONFIGURATION ------
strDomainDN = "DC=mondomaine,DC=local" ' e.g. dc=rallencorp,dc=com
' ------ END CONFIGURATION ---------

strBase = "<LDAP://" & strDomainDN & ">;"
strFilter = "(&(objectclass=user)(objectcategory=person)" & _
"(useraccountcontrol:1.2.840.113556.1.4.803:=2));"
strAttrs = "name;"
strScope = "subtree"

set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
Wscript.Echo objRS.Fields(0).Value
objRS.MoveNext
wend
%>

1 réponse

Avatar
SAUTIERE Benoît
Sauf erreur de ma part, le problème vient du contexte d'exécution de la
requête ADO.
En Vbscript, tu utilises ton compte utilisateur de domaine. En ASP, c'est le
contexte du serveur. En authentification anonyme, c'est IUSR_MAMACHINE.

Si en plus ton domaine est en Windows 2003, les mésures de sécurité par
défaut sont encore renforcées.

Essaie d'ajouter ces deux lignes en desous après la méthode OPEN sur ton
provider ADO
objConn.Properties("User ID")= Account_string
objConn.Properties("Password")= Password_string

Cordialement,

Benoît SAUTIERE

"" <N&p0l& a écrit dans le message de news:
ekhD%
Bonjour,

J'ai plusieurs scripts fonctionnant très bien en VBS mais quand je les
passent dans une page ASP. Je prend systématiquement une erreur du type :
Erreur interne du serveur ASP : Le tableau n'existe pas. Je pense qu'il
s'agit peut être d'une question de droits mais je voulais avoir un avis
éclairé. Je précise que pour mes tests les VBS et ASP sont dans le même
répertoire d'un serveur exchange où OWA fonctionne parfaitement.

Voici le script en question :

<% LANGUAGE = VBScript %>
<%
' This VBScript code finds all disabled user accounts in a domain.
' ---------------------------------------------------------------
' From the book "Active Directory Cookbook" by Robbie Allen
' Publisher: O'Reilly and Associates
' ISBN: 0-596-00466-4
' Book web site: http://rallenhome.com/books/adcookbook/code.html
' ---------------------------------------------------------------

' ------ SCRIPT CONFIGURATION ------
strDomainDN = "DC=mondomaine,DC=local" ' e.g. dc=rallencorp,dc=com
' ------ END CONFIGURATION ---------

strBase = "<LDAP://" & strDomainDN & ">;"
strFilter = "(&(objectclass=user)(objectcategory=person)" & _
"(useraccountcontrol:1.2.840.113556.1.4.803:=2));"
strAttrs = "name;"
strScope = "subtree"

set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
objConn.Open "Active Directory Provider"
set objRS = objConn.Execute(strBase & strFilter & strAttrs & strScope)
objRS.MoveFirst
while Not objRS.EOF
Wscript.Echo objRS.Fields(0).Value
objRS.MoveNext
wend
%>