UDF > NetShare >


_Net_Share_SessionEnum

Fournit des informations sur les sessions ouvertes sur un serveur

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

Paramètres

$sServer [optionnel] Chaîne qui spécifie 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é.
$sClientName [optionnel] Spécifie le nom de la session de l'ordinateur pour lequel l'information doit être retournée.
Si ce paramètre est vide, la fonction retourne des informations pour toutes les sessions de l'ordinateur sur le serveur.
$sUserName [optionnel] Spécifie le nom utilisateur pour lequel l'information doit être retournée.
Si ce paramètre est vide, la fonction retourne des informations pour tous les utilisateurs.

Valeur de retour

Succès: Retourne un tableau avec le format suivant:
    [0][0] - Nombre d'entrées dans le tableau
    [1][0] - Nom de l'ordinateur qui a ouvert la session
    [1][1] - Nom de l'utilisateur qui a ouvert la session
    [1][2] - Nombre de fichiers, de périphériques et des pipes ouverts lors de la session
    [1][3] - Nombre de secondes écoulées depuis que la session a été activée
    [1][4] - Nombre de secondes écoulées depuis que la session a été inactivée
    [1][5] - Indique comment l'utilisateur a ouvert la session:
        1 - L'utilisateur a ouvert la session en utilisant un compte invité
        2 - L'utilisateur a ouvert la session sans utiliser le cryptage du mot de passe
    [1][6] - Indique le type de client qui a ouvert la session
    [1][7] - Nom du transport que le client utilise
Échec: Définit @error <> 0.

Remarque

Seuls les membres du groupe local Administrateurs ou Opérateurs serveur peuvent exécuter cette fonction.

En relation

_Net_Share_ConnectionEnum, _Net_Share_FileEnum, _Net_Share_ShareEnum

Voir aussi

Consultez NetSessionEnum 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", "Entrez le nom du Serveur:", "\\MyServer", "", 200, 130)
    If @error Then Exit

    ; Énumère les sessions réseau
    $aInfo = _Net_Share_SessionEnum($sServer, @ComputerName)
    MemoWrite("Error ..........: " & @error)
    MemoWrite("Entries read ...: " & $aInfo[0][0])
    For $iI = 1 To $aInfo[0][0]
        MemoWrite("Computer name ..: " & $aInfo[$iI][0])
        MemoWrite("User name.......: " & $aInfo[$iI][1])
        MemoWrite("Resources open .: " & $aInfo[$iI][2])
        MemoWrite("Seconds active .: " & $aInfo[$iI][3])
        MemoWrite("Seconds idle ...: " & $aInfo[$iI][4])
        MemoWrite("Connection type : " & $aInfo[$iI][5])
        MemoWrite("Client type ....: " & $aInfo[$iI][6])
        MemoWrite("Transport ......: " & $aInfo[$iI][7])
        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