Obtient des informations sur une ouverture particulière d'une ressource de serveur
#include <NetShare.au3>
_Net_Share_FileGetInfo ( $sServer, $iFileID )
$sServer | Indique le nom DNS ou NetBIOS du serveur distant sur lequel la fonction s'exécutera. Si ce paramètre est vide, l'ordinateur local est utilisé. |
$iFileID | Identifiant du fichier de la ressource dont vous voulez obtenir des informations. La valeur de ce paramètre doit avoir été obtenu dans un appel d'énumération précédente. |
Succès: | Retourne un tableau avec le format suivant: [0] - Numéro d'ID attribué à la ressource lorsqu'elle est ouverte [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 [2] - Contient le nombre de verrous de fichier sur la ressource [3] - Indique le chemin de la ressource ouverte [4] - Spécifie l'utilisateur ou l'ordinateur qui a ouvert la ressource |
Échec: | Définit @error <> 0. |
Administrateur, Opérateur de serveur ou d'impression ou l'appartenance au groupe Power User est nécessaire pour exécuter cette fonction.
_Net_Share_SessionGetInfo, _Net_Share_ShareGetInfo
Consultez NetFileGetInfo dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <NetShare.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $sServer, $aFile, $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", "Enter Server Name:", "\\MyServer", "", 200, 130) If @error Then Exit ; Énumère les fichiers ouverts sur le serveur $aFile = _Net_Share_FileEnum($sServer) MemoWrite("Error ...................: " & @error) MemoWrite("Entries read ............: " & $aFile[0][0]) MemoWrite() ; Obtient des informations pour chaque fichier ouvert (comme les infos de $aFile) For $iI = 1 To $aFile[0][0] $aInfo = _Net_Share_FileGetInfo($sServer, $aFile[$iI][0]) MemoWrite("Error ...................: " & @error) MemoWrite("File permissions ........: " & _Net_Share_PermStr($aInfo[1])) MemoWrite("File locks ..............: " & $aInfo[2]) MemoWrite("File path ...............: " & $aInfo[3]) MemoWrite("File user ...............: " & $aInfo[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