检索服务器上资源共享的信息
#Include <NetShare.au3>
_Net_Share_ShareEnum([$sServer = ""])
$sServer | [可选参数] 指定函数将操作远程服务器的 DNS 或 NetBIOS 名称字符串 如果参数为空, 则使用本地计算机. |
成功: | 返回以下格式的数组: | |
[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 - 读取数据, 并执行资源 | ||
2 - 将数据写入到资源 | ||
4 - 创建资源实例 | ||
8 - 执行资源 | ||
16 - 删除资源 | ||
32 - 修改资源的属性 | ||
64 - 修改分配给资源的权限 | ||
[1][4] - 资源的最大并发连接数 | ||
[1][5] - 当前资源连接数 | ||
[1][6] - 共享资源本地路径 | ||
[1][7] - 共享资源的使用密码 | ||
失败: | 设置@error: |
在MSDN中搜索
#include <GUIConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $iMemo
_Main()
Func _Main()
Local $iI, $aInfo
Local Const $sShareName = "AutoIt Share"
; 创建 GUI
GUICreate("NetShare", 400, 300)
; 创建 memo 控件
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; See if the share exists
If _Net_Share_ShareCheck(@ComputerName, $sShareName) = -1 Then
; Create a share on the local computer
_Net_Share_ShareAdd(@ComputerName, $sShareName, 0, "C:\", "AutoIt Share Comment")
If @error Then MsgBox(4096, "信息", "Share add error : " & @error)
MemoWrite("Share added")
Else
MemoWrite("Share exists")
EndIf
; Show information about all local shares
$aInfo = _Net_Share_ShareEnum(@ComputerName)
MemoWrite("Entries read ............: " & $aInfo[0][0])
For $iI = 1 To $aInfo[0][0]
MemoWrite("Share name ..............: " & $aInfo[$iI][0])
MemoWrite("Share type...............: " & _Net_Share_ResourceStr($aInfo[$iI][1]))
MemoWrite("Comment .................: " & $aInfo[$iI][2])
MemoWrite("Permissions .............: " & _Net_Share_PermStr($aInfo[$iI][3]))
MemoWrite("Maximum connections .....: " & $aInfo[$iI][4])
MemoWrite("Current connections .....: " & $aInfo[$iI][5])
MemoWrite("Local path ..............: " & $aInfo[$iI][6])
MemoWrite("Password ................: " & $aInfo[$iI][7])
MemoWrite()
Next
; Delete the share
_Net_Share_ShareDel(@ComputerName, $sShareName)
If @error Then MsgBox(4096, "信息", "Share delete error : " & @error)
MemoWrite("Share deleted")
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite