这问题看了三遍才看懂,你直接问获取与服务器的所有会话以及断开的方式多直接了当#include <Array.au3>
$info = _wmi_ServerConnectioninfo()
_ArrayDisplay($info)
Func _wmi_ServerConnectioninfo()
Local $aResult[1][1]
Local $strComputer = "prwh01";服务器的名称
Local $objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ServerConnection", "WQL",48)
For $objItem In $colItems
$aResult[0][0] += 1
Redim $aResult[$aResult[0][0] + 1][2]
$aResult[$aResult[0][0]][0] = $objItem.ComputerName
$aResult[$aResult[0][0]][1] = $objItem.UserName
Next
Return $aResult
EndFunc
以上代码获取连接服务器的IP以及user,IP得到了电脑名还用思量吗?
你可以用pstools中的psfile得到相应服务器的信息,单独的会话信息如下:[993507] \PIPE\spoolss
User: W000176
Locks: 0
Access: Read Write
,而后通过第一段代码得到相应user对应的IP,而后和你所谓的列表IP对比,不在则用psfile断开连接,相信高级男人的理解能力。 |