Listet alle zu einer freigegebenen Ressource gemachten Verbindungen auf
#include <NetShare.au3>
_Net_Share_ConnectionEnum ( $sServer, $sQualifier )
$sServer | String, der den DNS- oder NetBIOS-Namen des Remote Servers angibt, auf dem die Funktion ausgeführt werden soll. Wenn dieser Parameter leer bleibt, wird der lokale Computer verwendet. |
$sQualifier | Gibt den interessierenden Freigabe- oder Computernamen an. Ist es ein Freigabename, werden alle zu dieser Freigabe gemachten Verbindungen aufgelistet. Ist es ein Computername, listet die Funktion alle von diesem Computer zu dem angegebenen Server gemachten Verbindungen auf. |
Erfolg: | Ein Array mit dem folgenden Format: [0][0] - Anzahl der Array-Einträge [1][0] - Verbindungs-ID [1][1] - Verbindungs-Typ. Kann eine Kombination sein aus: $STYPE_DISKTREE - Laufwerke $STYPE_PRINTQ - Drucker-Warteschlange $STYPE_DEVICE - Kommunikationsgerät $STYPE_IPC - IPC $STYPE_SPECIAL - Spezielle, für IPC$ oder Remote-Administration reservierte Freigabe des Servers $STYPE_TEMPORARY - temporäre Freigabe [1][2] - Anzahl der momentan in Folge einer Verbindung geöffneten Dateien [1][3] - Anzahl der Benutzer auf der Verbindung [1][4] - Anzahl der Sekunden, die die Session aufgebaut war [1][5] - Läuft der Server mit der freigegebenen Ressource mit User-Level-Security, so beschreibt dieser Wert, welcher Benutzer die Verbindung hergestellt hat. Läuft der Server mit Share-Level-Security, beschreibt dieser Wert, welcher Computer die Verbindung hergestellt hat. [1][6] - Gibt entweder den Freigabenamen der freigegebenen Server-Ressource oder den Computernamen des Clients an |
Fehler: | Setzt das @error Flag auf ungleich null. |
Für diese Funktion ist die Zugehörigkeit zu einer der Usergruppen Administratoren, Server- oder Druck-Operatoren oder Hauptbenutzer erforderlich.
_Net_Share_FileEnum, _Net_Share_SessionEnum, _Net_Share_ShareEnum
Suche nach NetConnectionEnum in der MSDN Bibliothek.
#include <GuiConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $sServer, $sShare, $aInfo
; Erstellt eine GUI
GUICreate("_Net_Share", 400, 300)
; Erstellt ein Memo Control
$g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
; Frage nach Server- und Freigabename
$sServer = InputBox("Netzwerk Demo", "Gib den Servernamen ein:", "\Server", "", 200, 130) ;
;. für den lokalen Computer
If @error Then Exit
$sShare = InputBox("Netzwerk Demo", "Gib den Freigabenamen ein:", "SharedDocs", "", 200, 130)
If @error Then Exit
; Auflistung der Netzwerkverbindungen
$aInfo = _Net_Share_ConnectionEnum($sServer, $sShare)
MemoWrite("Fehler...................: " & @error)
MemoWrite("Einträge gelesen.........: " & $aInfo[0][0])
For $iI = 1 To $aInfo[0][0]
MemoWrite("Verbindungs-ID ..........: " & $aInfo[$iI][0])
MemoWrite("Verbindungstyp ..........: " & _Net_Share_ResourceStr($aInfo[$iI][1]))
MemoWrite("Geöffnete Dateien .......: " & $aInfo[$iI][2])
MemoWrite("Benutzerzahl ............: " & $aInfo[$iI][3])
MemoWrite("Verbindungszeit .........: " & $aInfo[$iI][4])
MemoWrite("Benutzername ............: " & $aInfo[$iI][5])
MemoWrite("Netzwerkname ............: " & $aInfo[$iI][6])
MemoWrite()
Next
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite