Permission non accordée : erreur avec VBS

Permission non accordée : erreur avec VBS - VB/VBA/VBS - Programmation

Marsh Posté le 12-05-2009 à 12:56:27    

Hello,
 
Je lance un script VBS avec le compte utilisateur sur un domaine.
 
J'ai cette erreur :
 
http://img16.imageshack.us/img16/8373/erreurbs.png
 
Et le script est le suivant :  
 

Code :
  1. Set FSO = CreateObject("Scripting.FileSystemObject" )
  2. Set objNetwork = CreateObject("Wscript.Network" )
  3. strUsername = objNetwork.username
  4. set objWMI = GetObject("winmgmts:root\cimv2" )
  5. sQuery = "Select * from Win32_process Where Name = 'nlnotes.exe'"
  6. For Each oproc In objWMI.execquery(sQuery)
  7. oproc.Terminate()
  8. Next
  9. rep = "\\172.16.17.1\save\" & strUserName
  10. if FSO.FolderExists(rep)Then
  11. set fold = FSO.GetFolder(rep)
  12. if fold.Attributes <> 18 then
  13.  fold.Attributes = 18
  14. end if
  15. else
  16. set fold = FSO.CreateFolder(rep)
  17. set fold = FSO.GetFolder(rep)
  18. fold.Attributes = 18
  19. end if
  20. for i=1 to 8
  21. select case (i)
  22.  case 1 : source = "c:\lotus\notes\data\"
  23.    destination = rep & "\notes_data\"
  24.  case 3 : source = "C:\Documents and Settings\" & strUserName & "\Bureau\"
  25.    destination = rep & "\Bureau\"
  26.  case 4 : source = "C:\Documents and Settings\" & strUserName & "\Favoris\"
  27.    destination = rep & "\Favoris\"
  28.  case 4 : source = "C:\Documents and Settings\" & strUserName & "\Mes documents\"
  29.    destination = rep & "\Mes documents\"
  30. end select
  31. runcopy source, destination
  32. next
  33. function runcopy(src, dest)
  34. if not  FSO.FolderExists(dest) then
  35.  set flddest = FSO.CreateFolder(dest)
  36. end if
  37. For each Fichier in FSO.GetFolder(src).Files
  38.   set File = FSO.GetFile(Fichier)
  39.   Obj = File.Name
  40.   if not FSO.FileExists(dest & Obj) then
  41.    FSO.CopyFile src & Obj, dest, true
  42.   else
  43.    DestItem = dest & Obj
  44.    set DestObj = FSo.GetFile(DestItem)
  45.    if CDate(File.DateLastModified) > CDate(DestObj.DateLastModified) then
  46.     FSO.CopyFile src & Obj, dest, true
  47.    end if
  48.   end if
  49. Next
  50. If FSO.FolderExists(src) Then
  51.   For each Fld in  FSO.GetFolder(src).SubFolders
  52.   newdest = dest & Fld.Name & "\"
  53.   newsrc = src & Fld.Name & "\"
  54.   runcopy newsrc, newdest
  55.   Next
  56. End If
  57. end function


 
En gros je veux lancer un script qui me copie le repertoire lotus notes, favoris, mes documents et le bureau de l'utilisateur lancant le script. Les données sont copier sur un serveur distant.
 
Merci d'avance,
 
Kevin

Reply

Marsh Posté le 12-05-2009 à 12:56:27   

Reply

Marsh Posté le 12-05-2009 à 13:55:41    

La ligne 56 est

  FSO.CopyFile src & Obj, dest, true


Le message dit que ce n'est pas autorisé. J'aurais tendance à penser que c'est vrai.
 
Maintenant, il y a deux hypothèses. Soit le problème vient de la copie à distance, soit vient d'autorisations d'accès liées à ce répertoire. Pour le savoir, il faudrait faire des tests complémentaires, par exemple en copiant sur un répertoire local, ou bien en copiant des choses dans ce répertoire de destination mais à partir d'un autre répertoire de la même machine.
 
Bon courage !

Reply

Marsh Posté le 12-05-2009 à 14:09:17    

Hello,
 
Merci pour ta réponse ... qui m'a permis de trouver le soucis :D ! J'ai oublié de mettre les droits sur un des repertoires :o !  
 
Sinon  deuxieme petite question est-ce possible de mettre une barre de progression ou une fenetre qui s'affiche quand la copie est finie ?
 
Merci,
 
Kevin

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed