Verändert Information einer Server-Freigabe
#include <NetShare.au3>
_Net_Share_ShareSetInfo ( $sServer, $sShare, $sComment, $iMaxUses )
| $sServer | Spezifiziert den DNS- oder NetBIOS-Namen des entfernten Servers, auf dem die Funktion ausgeführt werden soll. Wird dieser Parameter leer gelassen, wird der lokale Rechner verwendet. |
| $sShare | Gibt den Namen der Freigabe an, dessen Informationen verändert werden sollen |
| $sComment | Gibt einen optionalen Kommentar für die Freigabe an |
| $iMaxUses | Legt die maximale Anzahl der gleichzeitigen Verbindungen fest, welche zu der Freigabe aufgebaut werden können. Die Anzahl ist unlimitiert, wenn dieser Wert mit -1 angegeben wird. |
| Erfolg: | True |
| Fehler: | False |
Nur Mitglieder der lokalen Gruppen der Administratoren oder der Hauptbenutzer, sowie Benutzer die Mitglied der Print- oder Server-Operatoren sind, können diese Funktion ausführen. Die Print-Operatoren können nur Informationen zu Druckerfreigaben verändern.
Suche nach NetShareSetInfo in der MSDN Bibliothek.
#include "Extras\HelpFileInternals.au3"
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <NetShare.au3>
#include <WindowsStylesConstants.au3>
#RequireAdmin ; wird für _Net_Share_ShareAdd() benötigt
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
_MemoCreate(2, 2, 396, 296, $WS_VSCROLL)
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
; Ändern der Freigabe Informationen
_Net_Share_ShareSetInfo(@ComputerName, $sShareName, "Neuer Kommentar", 4)
; 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öscht die 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