Ermittelt Informationen über eine bestimmte, auf einem Server freigegebene Ressource
#include <NetShare.au3>
_Net_Share_ShareGetInfo ( $sServer, $sShare )
$sServer | Strings, die den DNS- oder NetBIOS-Namen des Servers, auf dem die Funktion ausgeführt werden soll, angibt. Wird der Parameter nicht angegeben, so wird der lokale Computer verwendet. |
$sShare | Name der Freigabe, für die Informationen zurückgegeben werden sollen. |
Erfolg: | Array mit dem folgenden Format: [0] - Freigabename der Ressource [1] - Art der freigegebenen Ressource. Kann eine Kombination der folgenden sein: $STYPE_DISKTREE - Laufwerk $STYPE_PRINTQ - Druckerwarteschlange $STYPE_DEVICE - Kommunikationsgerät (Modem) $STYPE_IPC - IPC $STYPE_SPECIAL - Spezielle Freigabe, die für IPC$ oder die Fernadministration des Servers reserviert ist. $STYPE_TEMPORARY - Temporäre Freigabe [2] - Optionaler Kommentar zur freigegebenen Ressource [3] - Enthält die Zugriffsrechte für die freigegebene Ressource: 1 - Erlaubnis, Daten aus der Ressource zu lesen und auszuführen 2 - Erlaubnis, Daten in die Ressource zu schreiben 4 - Erlaubnis, eine Instanz der Ressource zu erzeugen 8 - Erlaubnis, die Ressource auszuführen 16 - Erlaubnis, die Ressource zu löschen 32 - Erlaubnis, die Eigenschaften der Ressource zu verändern 64 - Erlaubnis, die einer Ressource zugewiesenen Berechtigungen zu ändern [4] - maximal mögliche Anzahl von Verbindungen zur Ressource [5] - Anzahl der momentanen Verbindungen zur Ressource [6] - Lokaler Pfad für die freigegebene Ressource [7] - Passwort der Freigabe |
Fehler: | Setzt das @error Flag auf ungleich null |
Die Mitgliedschaft in einer der folgenden Gruppen ist notwendig, um die Funktion erfolgreich ausführen zu können:
Administratoren, Hauptbenutzer, Druck-Operatoren oder Server-Operatoren.
_Net_Share_FileGetInfo, _Net_Share_SessionGetInfo, _Net_Share_ShareSetInfo
Suche nach NetShareGetInfo in der MSDN Bibliothek.
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <NetShare.au3>
#include <WindowsConstants.au3>
#RequireAdmin ; wird für _Net_Share_ShareAdd() benötigt
Global $g_idMemo
Example()
Func Example()
Local $aInfo
Local Const $sShareName = "AutoIt Share"
Local Const $sResourcePath = "C:\"
; 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)
Local $bShareAdded = False
; Nachsehen, ob die Freigabe existiert
If _Net_Share_ShareCheck(@ComputerName, "") = -1 Then
; Erstellt eine Freigabe auf dem lokalen Computer
$bShareAdded = _Net_Share_ShareAdd(@ComputerName, $sShareName, 0, $sResourcePath, "AutoIt Share Comment")
If @error Then
MsgBox($MB_SYSTEMMODAL, "Information", "Freigabe erzeugt einen Fehler : " & @error)
Else
MemoWrite("Share added" & @CRLF)
EndIf
Else
MemoWrite("Freigabe existiert")
EndIf
If $bShareAdded Then
; Zeigt die Informationen über die hinzugefügte Freigabe
$aInfo = _Net_Share_ShareGetInfo(@ComputerName, $sShareName)
MemoWrite("Freigabenamen ..............: " & $aInfo[0])
MemoWrite("Art der Freigabe ...............: " & _Net_Share_ResourceStr($aInfo[1]))
MemoWrite("Kommentar der Freigabe.................: " & $aInfo[2])
MemoWrite("Rechte der Freigabe .............: " & _Net_Share_PermStr($aInfo[3]))
MemoWrite("Maximale Verbindungen zu der Freigabe .....: " & $aInfo[4])
MemoWrite("Anzahl der momentanen Verbindungen .....: " & $aInfo[5])
MemoWrite("Lokaler Pfad der Freigabe ..............: " & $aInfo[6])
MemoWrite("Passwort der Freigabe................: " & $aInfo[7])
; Löschen der Freigabe
_Net_Share_ShareDel(@ComputerName, $sShareName)
If @error Then MsgBox($MB_SYSTEMMODAL, "Information", "Fehler beim löschen der Freigabe : " & @error)
MemoWrite("Freigabe gelöscht")
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndIf
EndFunc ;==>Example
; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite