Funktionreferenz


_Net_Share_ShareGetInfo

Beschreibung anzeigen in

Ermittelt Informationen über eine bestimmte, auf einem Server freigegebene Ressource

#include <NetShare.au3>
_Net_Share_ShareGetInfo ( $sServer, $sShare )

Parameter

$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.

Rückgabewert

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

Bemerkungen

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.

Verwandte Funktionen

_Net_Share_FileGetInfo, _Net_Share_SessionGetInfo, _Net_Share_ShareSetInfo

Siehe auch

Suche nach NetShareGetInfo in der MSDN Bibliothek.

Beispiel

#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