Error code 5 access

Résolu
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 - 31 janv. 2007 à 02:23
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 - 13 févr. 2007 à 01:42
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

angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 1
13 févr. 2007 à 01:42
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
3
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010
31 janv. 2007 à 20:58
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
0
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 1
7 févr. 2007 à 20:07
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
0
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 1
8 févr. 2007 à 19:44
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SuperBouly Messages postés 410 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 8 mai 2010
8 févr. 2007 à 21:40
rebonjour,
Si tu nous disais quelle est la ligne 37, ça nous aidera.
@+Gilles
0
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 1
9 févr. 2007 à 01:02
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
0
angenoir999 Messages postés 19 Date d'inscription vendredi 25 août 2006 Statut Membre Dernière intervention 2 octobre 2008 1
11 févr. 2007 à 15:10
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
0
Rejoignez-nous