Error code 5 access [Résolu]

Signaler
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
-
Bonjour

voila j'ai un fichier excel ou j'ai les serveurs (colonne hostname) et les services (colonne  service) que je dois testé (running), je le fait en a travers une commande dos utilisant "netsvc.exe", j'ai essayé aussi "sc" pareil.

En local cela fonctionne (iis est en authentifié windows) en local (testé des services sur la machine en local), mais des que je veux testé des machines du domaine je reçoit "error code 5 access".

J'ai essayé en donnant a iusr_machine, iwan_machine etc. les droits admin sur le répertoire du site, j'ai mis mon user (groupe admin domain) en tant que user anonyme ou user authentifié = toujours pareil.

si vous avez une idée.

je vous donne le code:

<% @language=vbscript %>
<% Response.Buffer = true %>
<%
    Set MyShell = CreateObject("WScript.Shell")
    Set MyFiles = CreateObject("Scripting.FileSystemObject")



Dim w,rs,Conn,y,x



'connection a la base de donnée
Set Conn = server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath(".") & "\servicetest.xls" & ";" & "Extended Properties=""Excel 8.0;HDR=YES;"""
Set rs = server.CreateObject("ADODB.Recordset")
rs.Open "Select * from nounou", Conn, 1, 3



rs.movefirst



do while not rs.eof
 w = rs("hostname")
 x = rs("service")
 
    Set objWShell = CreateObject("WScript.Shell")
    Set objCmd = objWShell.Exec("c:\netsvc " & x & " \" & w & " /query")
    strPResult = objCmd.StdOut.Readall()     set objCmd nothing: Set objWShell nothing
   
    strPResult = replace(strPResult,"Service is stopped on \" & w,"1")
    strPResult = replace(strPResult,"Service is running on \" & w,"2")
   
  if strPResult = 1 then
  rs("etat") = "arreté"
  else
  rs("etat") = "en cours"
  end if
 
 rs.movenext
Loop



'fermeture de la base et des connections creer
rs.close
set rs=nothing
Conn.close
set Conn=nothing
%>



Si une lumière avisé voit ma faute ou ces comments paramétré les droits pour que cela fonctionne je suis preneur, même les critiques (toutes critiques sont bonnes a prendre pour progresser).


angenoir999

7 réponses

Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
1
Bonjour

Bon la solution marche sur un domaine NT, donc comme je l'ai dis, j'ai fait un tutorial.

http://www.aspfr.com/tutoriaux/LANCER-PROCESSUS-PARTIR-PAGE-ASP-AVEC-DROITS-ADMINS_617.aspx

angenoir999
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

Bonjour,
Il faudrait déboguer ton code pour savoir quelle est la ligne qui provoque l'erreur( méthode générale). Au fait, tu développe avec quoi ?
A part ça, quelquefois, quand ça marche en local et pas dans le réseau, il y a du firewall dessous !
@+Gilles
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
1
Bonjour

Je n'ai pas encore d'erreur dans mon code, ou tout du moins elles remontront lorsque j'aurais résolu ce premier problème.

C'est simplement une question de droit, mais il ne s'agit pas de firewall dans mon cas.

angenoir999
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
1
Bonjour

dans le code en gras

<% @language=vbscript %>
<% Response.Buffer = true %>
<%
    Set MyShell = CreateObject("WScript.Shell")
    Set MyFiles = CreateObject("Scripting.FileSystemObject")Dim w,rs,Conn,y,x

'connection a la base de donnée
Set Conn = server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath(".") & "\servicetest.xls" & ";" & "Extended Properties=""Excel 8.0;HDR=YES;"""
Set rs = server.CreateObject("ADODB.Recordset")
rs.Open "Select * from nounou", Conn, 1, 3

rs.movefirst

do while not rs.eof
 w = rs("hostname")
 x = rs("service")
 
    Set objWShell = CreateObject("WScript.Shell")
    Set objCmd = objWShell.Exec("c:\netsvc " & x & " \" & w & " /query")
    strPResult = objCmd.StdOut.Readall()     set objCmd nothing: Set objWShell nothing
   
    strPResult = replace(strPResult,"Service is stopped on \" & w,"1")
    strPResult = replace(strPResult,"Service is running on \" & w,"2")
   
  if strPResult = 1 then
  rs("etat") = "arreté"
  else
  rs("etat") = "en cours"
  end if
 
 rs.movenext
Loop

'fermeture de la base et des connections creer
rs.close
set rs=nothing
Conn.close
set Conn=nothing
%>

strPResult me renvoie le message suivant "Error code 5 Access denied".

le message d'erreur complet:

"

 

Erreur de compilation Microsoft VBScript error '800a0401'

Fin d'instruction attendue

/iisHelp/common/500-100.asp, line 11

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^

Erreur d'exécution Microsoft VBScript

error '800a000d'Type incompatible: '[string: "Error code 5 Access"]'

/pilotage/service.asp, line 37

"

Merci d'avance pour vos réponse.

angenoir999
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

rebonjour,
Si tu nous disais quelle est la ligne 37, ça nous aidera.
@+Gilles
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
1
Bonjour

J'ai tout mis dans mon mail, ici ce n'est pas la ligne 37 qui nous interesse, c'est strPResultqui me renvoie le code "Error code 5 Access".

Mon problème est un problème de droit car je lui demande de regardé l'état d'un service sur un serveur du domaine et en retour il me répond ci-dessus, comme quoi mes droits ne sont pas assez étendu pour cette opération.

Mon problème c'est que je vois pas comment lancer la commande avec les droits qu'il faut, dans IIS je suis en authentification windows et mon compte est admin du domaine donc le problème doit pas venir de là.

angenoir999
Messages postés
19
Date d'inscription
vendredi 25 août 2006
Statut
Membre
Dernière intervention
2 octobre 2008
1
Bonjour

Bon, je crois que j'ai trouver, cela fonctionne chez moi, j'ai plus qu'a l'essayer au boulot.

Si cela fonctionne, j'aurais résolu un problème que tout le monde rencontre lorsqu'on veut faire un site en asp pour interagir avec les serveurs dans un domaine en faire sa surveillance etc...
tout cela pour un banal probleme de droit.

Si cela fonctionne je ne mettrais pas la soluce ici, mais j'en ferais un tutorial.

Merci tout de même a ce qui bien voulut m'aider.

angenoir999