Ermittelt einzelne Informationen über die geöffnete Ressource auf dem Server
#include <NetShare.au3>
_Net_Share_FileGetInfo ( $sServer, $iFileID )
$sServer | Spezifiziert den DNS oder NetBIOS Namen des Remote-Servers auf dem die Funktion ausgeführt wird. Wenn der Parameter leer ist, wird der lokale Computer benutzt. |
$iFileID | File-ID der Ressource, die die Informationen zurückgibt. Der Wert des Parameters wurde in der vorangegangenen Aufzählungsabfrage zurückgegeben. |
Erfolg: | Ein Array mit dem folgenden Format: [0] - ID die der Ressource zugeteilt wird wenn sie geöffnet ist. [1] - Zugriffsberechtigungen für die auszuführende Ressource: 1 - Berechtigung zum lesen und ausführen einer Ressource. 2 - Berechtigung zum schreiben einer Ressource. 4 - Berechtigung zum erstellen einer Ressource. 8 - Berechtigung zum ausführen. 16 - Berechtigung zum löschen. 32 - Berechtigung zum Rechte ändern. 64 - Ändern der ACL Berechtigungen [2] - Beinhaltet die maximale Anzahl der Dateien. [3] - Spezifiziert den Pfad zu der geöffneten Ressource. [4] - Spezifiziert welcher Benutzer an welchem Computer die Ressource geöffnet hat. |
Fehler: | Setzt das @error Flag auf ungleich null. |
Nur Mitglieder der Lokalen-Gruppe Administratoren oder Server-Operater können diese Funktion ausführen.
_Net_Share_SessionGetInfo, _Net_Share_ShareGetInfo
Suche nach NetFileGetInfo in der MSDN Bibliothek.
#include <GuiConstantsEx.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $sServer, $aFile, $aInfo
; Erstellt eine GUI
GUICreate("NetShare", 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)
; Ermitteln der Server- und Freigabeinformationen
$sServer = InputBox("Netzwerk Demo", "Server Namen eingeben:", "\\MeinServer", "", 200, 130)
If @error Then Exit
; Auflisten der freigegebenen Dateien auf dem Server
$aFile = _Net_Share_FileEnum($sServer)
MemoWrite("Fehler ...................: " & @error)
MemoWrite("Einträge lesen ............: " & $aFile[0][0])
MemoWrite()
; Informationen über jede (freigegebene|geöffnete?) Datei ermitteln (dasselbe wie $aFile info)
For $iI = 1 To $aFile[0][0]
$aInfo = _Net_Share_FileGetInfo($sServer, $aFile[$iI][0])
MemoWrite("Fehler ...................: " & @error)
MemoWrite("Datei Benutzerrechte .....: " & _Net_Share_PermStr($aInfo[1]))
MemoWrite("Datei Sperren ............: " & $aInfo[2])
MemoWrite("Datei Pfad ...............: " & $aInfo[3])
MemoWrite("Datei Benutzer ...........: " & $aInfo[4])
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