提供有关服务器上建立的会话
#Include <NetShare.au3>
_Net_Share_SessionEnum([$sServer = ""[, $sClientName = ""[, $sUserName = ""]]])
$sServer | [可选参数] 指定函数将操作远程服务器的 DNS 或 NetBIOS 名称字符串 如果参数为空, 则使用本地计算机. |
$sClientName | [可选参数] 指定计算机被返回信息的会话名称. 如此参数为空, 则函数返回服务器上所有计算机会话的信息. |
$sUserName | [可选参数] 指定返回信息的用户名称. 如此参数为空, 则函数返回的信息为所有用户. |
成功: | 返回以下格式的数组: | |
[0][0] - 数组中的条目数 | ||
[1][0] - 计算机确定的会话名称 | ||
[1][1] - 建立会话的用户名称 | ||
[1][2] - 文件, 设备的数量, 并在会话期间打开的管道 | ||
[1][3] - 有效会话时间的秒数 | ||
[1][4] - 会话闲置时间的秒数 | ||
[1][5] - 指定用户如何确定会话: | ||
1 - 用户使用来宾帐户建立的会话 | ||
2 - 用户不使用密码建立的会话 | ||
[1][6] - 指定客户端建立的会话类型 | ||
[1][7] - 客户端使用的传输名称 | ||
失败: | 设置@error: |
在MSDN中搜索
#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $sServer, $aInfo
; 创建 GUI
GUICreate("NetShare", 400, 300)
; 创建 memo 控件
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; Get server and share information
$sServer = InputBox("NetWork Demo", "Enter Server Name:", "\\MyServer", "", 200, 130)
If @error Then Exit
; Enumerate network sessions
$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
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite