Obtient des informations sur les fichiers ouverts sur un serveur
#include <NetShare.au3>
_Net_Share_FileEnum ( [$sServer = "" [, $sBaseName = "" [, $sUserName = ""]]] )
$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. |
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. |
Seuls les membres Administrateurs ou du groupe local Server Operators peuvent exécuter cette fonction.
_Net_Share_ConnectionEnum, _Net_Share_SessionEnum, _Net_Share_ShareEnum
Consultez NetFileEnum dans la librairie MSDN.
#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