函数参考


_Net_Share_ConnectionEnum

列出共享资源的所有连接

#Include <NetShare.au3>
_Net_Share_ConnectionEnum($sServer, $sQualifier)

参数

$sServer 指定函数将操作远程服务器的 DNS 或 NetBIOS 名称字符串
如果参数为空, 则使用本地计算机.
$sQualifier 指定共享名或计算机名称
如果是共享名称,则列出共享名称的所有连接
如果是计算机名称, 函数列出计算机名指定服务器的所有连接.

返回值

成功: 返回以下格式的数组:
[0][0] - 数组中的条目数
[1][0] - 连接识别码
[1][1] - 连接类型. 可以为下列结合:
$STYPE_磁盘TREE - 打印队列
$STYPE_PRINTQ - 磁盘驱动器
$STYPE_DEVICE - 通讯设备
$STYPE_IPC - IPC (工控机)
$STYPE_SPECIAL - 为 IPC$ 或服务器的远程管理保留的专用共享
$STYPE_TEMPORARY - 临时共享
[1][2] - 当前连接结果打开的文件数
[1][3] - 连接上的用户数
[1][4] - 建立连接的秒数
[1][5] - 描述服务器共享资源, 与用户运行的安全级别
如果服务器是共享级安全运行, 描述用户的连接.
计算机接通
[1][6] - 指定服务器共享资源的共享名或客户端的计算机名
失败: 设置 @error

注意/说明

需要系统管理员(Administrator), 服务器, 打印操作员或用户组成员执行函数

相关

_Net_Share_FileEnum, _Net_Share_SessionEnum, _Net_Share_ShareEnum

详情参考

在MSDN中搜索


示例/演示


#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>

Global $iMemo

_Main()

Func _Main()
    Local $sServer, $sShare, $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
    $sShare = InputBox("NetWork Demo", "Enter Share Name:", "MyShare", "", 200, 130)
    If @error Then Exit

    ; Enumerate network connections
    $aInfo = _Net_Share_ConnectionEnum($sServer, $sShare)
    MemoWrite("Error ...................: " & @error)
    MemoWrite("Entries read ............: " & $aInfo[0][0])
    For $iI = 1 To $aInfo[0][0]
        MemoWrite("Connection ID ...........: " & $aInfo[$iI][0])
        MemoWrite("Connection type..........: " & _Net_Share_ResourceStr($aInfo[$iI][1]))
        MemoWrite("Number of files open ....: " & $aInfo[$iI][2])
        MemoWrite("Number of users .........: " & $aInfo[$iI][3])
        MemoWrite("Connection time .........: " & $aInfo[$iI][4])
        MemoWrite("Username ................: " & $aInfo[$iI][5])
        MemoWrite("Network name ............: " & $aInfo[$iI][6])
        MemoWrite()
    Next

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main

; 写入消息到 memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite