Microsoft VBScript: Permission refusée
Bonjour,
Dans un des scripts sur lesquels je tente désespérément de travailler, je rencontre un petit problème.
En effet, la fonction suivante ne me permet pas d'obtenir le résultat escompté :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Function GETINFO_PARTAGE(FS1, varwhere)
On Error Resume Next
'création du chemin du partage PathShare
Dim PathShare : PathShare = "\\" & FS1 & "\Partage"
'check de la dispo du lecteur
If fso.driveExists("I:") Then
Net.RemoveNetworkDrive "I:", True, True
Net.MapNetworkDrive "I:", PathShare, , User, Password
Else
Net.MapNetworkDrive "I:", PathShare, , User, Password
End If
'Attrappe le disque I:
Dim Disque : Set Disque = fso.GetDrive("I:")
'récupère l'occupation et le disponnible
Dim Occup : Occup = FormatNumber(((Disque.TotalSize - Disque.FreeSpace)/1024^3), 3)
Dim Dispo : Dispo = FormatNumber((Disque.FreeSpace/1024^3), 3)
Dim colDossiers, Dossier, outinfo
If err.number <> 0 then
GETINFO_PARTAGE = PathShare & ";Non Disponible"
On Error Goto 0
Exit Function
End If
outinfo = PathShare & ";" & Occup & ";" & Dispo & vbCrlf
Set colDossiers = fso.getFolder(PathShare).SubFolders
For each Dossier in colDossiers
outinfo = outinfo & varwhere & ";" & UCase(dossier.path) & ";" & FormatNumber((dossier.size/1024^3), 3) & vbCrlf
If Err.Number <> 0 Then
outinfo = outinfo & varwhere & ";" & UCase(dossier.path) & ";" & Err.Description & vbCrlf
On Error Goto 0
End If
Next
Net.RemoveNetworkDrive "I:", True, True
GETINFO_PARTAGE = Left(outinfo, Len(outinfo) -1)
End Function 'GETINFO_PARTAGE |
Je me mange des "C:\script.vbs(157, 3) Erreur d'exécution Microsoft VBScript: Permission refusée" sur la ligne :
Code:
outinfo = outinfo & varwhere & ";" & UCase(dossier.path) & ";" & FormatNumber((dossier.size/1024^3), 3) & vbCrlf
Et n'arrive pas à passer outre.
En résumé, cette fonction est censée (entre autre) :
- Mapper un partage (NAS)
- Récupérer l'espace disque utilisé du volume sur lequel est monté ce partage
- Récupérer l'espace disque disponible du volume sur lequel est monté ce partage
- Faire de même avec chaque sous répertoire.
J'ai besoin que :
- Si erreur sur serveur, il passe au serveur suivant = OK
- Si erreur sur Partage, il passe au partage suivant = OK (je crois)
- Si erreur sur Dossier dans le partage, il passe au dossier suivant dans ce partage = KO (de toute évidence).
Pouvez-vous m'aider, SVP, à comprendre ce qui ne va pas dans cette fonction ?
Merci d'avance pour votre aide.
Sincèrement,
Boueep
EDIT : Remplacement de "ouKilEst" par "varwhere" dans la 2nd zone code.