Während der Arbeit geben Sie Ordner Ihres PCs für Kollegen frei. Die Freigaben sollen temporär sein, doch Sie vergessen oft, sie abends wieder zurückzusetzen.

Ein VB-Skript in Kombination mit dem Windows Scripting Host verhindert, dass Sie öffentliche Ordner im Netz vergessen. Unter Windows XP und Vista klappert es nach dem morgendlichen Systemstart alle Freigaben ab und entfernt sie einzeln nach Rückfrage.

Abfrage-Skript eingeben
Das Listing nutzt das Active Directory Service Interface (ADSI), eine Komponente von XP und Vista für den Zugriff auf Verzeichnisdienste. Es fragt der Reihe nach die dort eingetragenen Freigaben ab. Zum Eingeben des Skripts reicht ein Texteditor wie Notepad. Speichern Sie die Datei zum Beispiel als “beendenFreigaben.vbs”.

Option Explicit
dim objNetwork, objLanman, objShare
dim szComputerName, szMeldung
dim intZaehler
On Error Resume Next
intZaehler = 0
set objNetwork = CreateObject ("Wscript.Network")
szComputerName = objNetwork. ComputerName
set objLanman = GetObject("WinNT://" & szComputerName & "/LanmanServer")
for each objShare in objLanman
szMeldung = "Die Freigabe des Ordners " & objShare.path & " (" & objShare.name & ")zurücknehmen?"
if err.number = 0 then
intZaehler = intZaehler + 1
if Msgbox(szMeldung,vbYesNo) = vbYes then
objLanman.Delete "fileshare", objShare. name
end if
end if
next
if intZaehler = 0 then
szMeldung = "Auf " & szComputerName & "wurden keine freigegebenen Ordner
gefunden!"
Msgbox(szMeldung)
end if
set objNetwork = nothing
set objLanman = nothing
set objShare = nothing
WScript.Quit

Autostart konfigurieren
Damit Windows das Skript beim Systemstart automatisch ausführt, legen Sie eine Verknüpfung im Ordner “Autostart” ab. Dazu wählen Sie “Start | Alle Programme”, klicken dann mit der rechten Maustaste auf “Autostart” und wählen im Kontextmenü “Öffnen”. Dann klicken Sie im Windows Explorer mit der rechten Maustaste auf eine freie Stelle des rechten Bereiches und wählen “Neu | Verknüpfung”. Geben Sie “cscript.exe”, gefolgt von einem Leerzeichen und dem vollständigen Namen mit Pfadangabe zur gespeicherten VBS-Datei, ein und klicken Sie auf “Weiter”. Auf der folgenden Seite tragen Sie einen Namen für die neue Verknüpfung ein und klicken auf “Fertig stellen”. Windows muss das Skript mit Administratorrechten ausführen. Dazu klicken Sie unter Windows Vista noch einmal mit der rechten Maustaste auf das Symbol der neuen Verknüpfung und öffnen die “Eigenschaften “. Klicken Sie im Register “Verknüpfung” auf “Erweitert” und aktivieren Sie die Option “Als Administrator ausführen”. Das Ausführen des Skriptes müssen Sie künftig vorher durch Auswahl eines Benutzerkontos mit Administratorrechten und Eingabe des passenden Passworts autorisieren. Unter Windows XP reicht es aus, das Skript von einem Konto mit Administratorrechten auszuführen.

So arbeitet das Skript
Das Skript verwendet das Objekt “objLanman ” als Referenz für den ASDI-Dienst. Es benötigt den Namen des PCs. Daher erzeugt das Skript das Objekt “objNetwork” vom Typ “Wscript.Network” und schreibt dessen Eigenschaft “ComputerName” in die Variable “szComputerName”. Nun kann es “objLanman” erzeugen. Als Type benutzt das Skript den Wert “”WinNT://” & szComputerName & “/LanmanServer”". Für jedes freigegebene Verzeichnis verweist “objLanman” auf ein Objekt “objShare”. Diese Objekte durchkämmt das Skript mit einer “for each”- Schleife und setzt die Freigabe mit dem Aufruf “Delete “fileshare”, objShare.name ” von “objLanman” zurück. Um ein versehentliches Löschen einer benötigten Freigabe zu verhindern, bittet das Skript vor dem Zurücksetzen mit der “Msgbox” um die Zustimmung des Anwenders.

Ähnliche Beiträge: