UDF > NetShare >


_Net_Share_SessionGetInfo

Obtient des informations sur une session ouverte entre un serveur et un poste de travail

#include <NetShare.au3>
_Net_Share_SessionGetInfo ( $sServer, $sClientName, $sUserName )

Paramètres

$sServer 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 Indique le nom de la session de l'ordinateur pour lequel l'information doit être retournée.
Ce paramètre ne peut pas être vide.
$sUserName Chaîne qui spécifie le nom de l'utilisateur dont les informations de session doivent être retournées.
Ce paramètre ne peut pas être vide.

Valeur de retour

Succès: Retourne un tableau avec le format suivant:
    [0] - Nom de l'ordinateur qui a ouvert la session
    [1] - Nom de l'utilisateur qui a ouvert la session
    [2] - Nombre de fichiers, de périphériques et de pipes ouverts lors de la session
    [3] - Nombre de secondes écoulées depuis que la session a été activée
    [4] - Nombre de secondes écoulées depuis que la session a été désactivée
    [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
    [6] - Indique le type de client qui a ouvert la session
É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_FileGetInfo, _Net_Share_ShareGetInfo

Voir aussi

Consultez NetSessionGetInfo 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

    ; Obtient des informations de session
    $aInfo = _Net_Share_SessionGetInfo($sServer, @ComputerName, "Administrator")
    MemoWrite("Error ..........: " & @error)
    MemoWrite("Computer name ..: " & $aInfo[0])
    MemoWrite("User name ......: " & $aInfo[1])
    MemoWrite("Resources open .: " & $aInfo[2])
    MemoWrite("Seconds active .: " & $aInfo[3])
    MemoWrite("Seconds idle ...: " & $aInfo[4])
    MemoWrite("Connection type : " & $aInfo[5])
    MemoWrite("Client type ....: " & $aInfo[6])

    ; 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