UDF > NetShare >


_Net_Share_FileEnum

Obtient des informations sur les fichiers ouverts sur un serveur

#include <NetShare.au3>
_Net_Share_FileEnum ( [$sServer = "" [, $sBaseName = "" [, $sUserName = ""]]] )

Paramètres

$sServer [optionnel] Chaîne qui contient le nom du serveur sur lequel la fonction s'exécutera.
Une chaîne vide spécifie l'ordinateur local.
$sBaseName [optionnel] Chaîne contenant un qualificatif pour les informations retournées.
Si vide toutes les ressources ouvertes sont énumérés.
Si non vide, la fonction énumère uniquement les ressources qui ont $sBaseName comme préfixe.
$sUserName [optionnel] Chaîne qui spécifie le nom de l'utilisateur.
Si non vide, $sUserName sert de qualificatif à l'énumération.

Valeur de retour

Succès: Retourne un tableau avec le format suivant:
    [0][0] - Nombre d'entrées dans le tableau (n)
    [1][0] - Numéro ID attribué à la ressource lorsqu'elle est ouverte
    [1][1] - Autorisations d'accès associés à l'ouverture de l'application:
        1 - Autorisation d'accès pour lire une ressource et exécuter la ressource
        2 - Autorisation d'accès pour écrire dans une ressource.
        4 - Autorisation d'accès pour créer une ressource
        8 - Autorisation d'accès pour l'exécution
        16 - Autorisation d'accès pour la suppression
        32 - Autorisation d'accès pour modifier des attributs
        64 - Autorisation d'accès pour changer ACL
    [1][2] - Contient le nombre de verrous de fichier sur la ressource
    [1][3] - Indique le chemin de la ressource ouverte
    [1][4] - Spécifie l'utilisateur ou l'ordinateur qui a ouvert la ressource
Échec: Définit @error <> 0.

Remarque

Seuls les membres Administrateurs ou du groupe local Server Operators peuvent exécuter cette fonction.

En relation

_Net_Share_ConnectionEnum, _Net_Share_SessionEnum, _Net_Share_ShareEnum

Voir aussi

Consultez NetFileEnum dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    Local $sServer, $aInfo

    ; Crée une GUI
    GUICreate("NetShare", 400, 300)

    ; Crée un contrôle Memo
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Obtient le serveur et le nom de partage
    $sServer = InputBox("NetWork Demo", "Tapez le nom du Serveur:", "\\MyServer", "", 200, 130)
    If @error Then Exit

    ; Énumère les fichiers ouverts sur le serveur
    $aInfo = _Net_Share_FileEnum($sServer)
    MemoWrite("Error ...................: " & @error)
    MemoWrite("Entries read ............: " & $aInfo[0][0])
    For $iI = 1 To $aInfo[0][0]
        MemoWrite("Resource ID .............: " & $aInfo[$iI][0])
        MemoWrite("Resource permissions ....: " & _Net_Share_PermStr($aInfo[$iI][1]))
        MemoWrite("Resource locks ..........: " & $aInfo[$iI][2])
        MemoWrite("Resource path ...........: " & $aInfo[$iI][3])
        MemoWrite("Resource user ...........: " & $aInfo[$iI][4])
        MemoWrite()
    Next

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Ecrit un message dans le contrôle Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite