Bonjour à tous/toutes,

meilleurs voeux pour cette nouvelle année!

J'aimerai réaliser un petit programme permettant de récupérer la taille d'un dossier et de son contenu (ou d'un partition d'ailleurs). Tout fonctionne pour le mieux grâce à cette fonction qui me renvois la taille que je souhaite :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Public Function GetFolderSize(ByVal dirPath As String, ByVal includeSubFolders As Boolean) As String
            Try
            Dim Size As Long = 0
            Dim diBase As New DirectoryInfo(dirPath)
            Dim Files() As FileInfo
            If includeSubFolders Then
                Files = diBase.GetFiles(("*"), SearchOption.AllDirectories)
            Else
                Files = diBase.GetFiles(("*"), SearchOption.TopDirectoryOnly)
            End If
 
            Dim ie As IEnumerator = Files.GetEnumerator
            While ie.MoveNext
                Size += DirectCast(ie.Current, FileInfo).Length
            End While
            Return Size
        Catch ex As Exception
            GetFolderSize = ("error: " & ex.Message)
        End Try
    End Function
Malheureusement lorsque je "scan" une partition contenant des dossiers profils de certains utilisateurs du domaine, j'ai un "access denied" puisque le user en question est le seul à avoir l'accés sur son dossier.
En cherchant à droite et à gauche j'ai pu voir qu'il est possible de se donner d'avantage de droits afin de faire des actions qui normalement ne sont pas permises.
Dans mon cas il semblerait que le privilege "SeBackupPrivilege" me permettrait de lire les informations que je souhaite des dossiers/fichiers non accessibles.
Cette page explique la procédure en C++ :

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Voila un certains temps que je suis sur ce problème sans trouver la solution exacte puisque je ne comprends pas vraiment le principe du Token et sur quoi il s'applique.
Une bonne âme pourrait elle éclairer ma lanterne et m'aider pour la suite?

En vous remerciant par avance!!

Cz