Ordner remote freigeben mit dem Server-Manager oder WMI

    Windows-OrdnerUm Ordner freizu­geben, bietet Windows sowohl eine Funk­tion im Explorer als auch net share auf der Kommando­zeile. Beide funkt­ionieren jedoch nur lokal, so dass Admins oft über Remote­desktop eine Session auf einem Rechner öffnen, um dort ein Verzeichnis freizu­geben. Das ist aber nicht not­wendig, weil sich diese Aufgabe auch remote erledigen lässt.

    Die einfachste Methode besteht darin, Ordner mit Hilfe der Computerverwaltung remote freizugeben, weil diese auf den Client-Maschinen schon vorhanden ist und keine weitere Installation von Software erfordert. Nach dem Aufruf des Programms wählt man unter dem Menüpunkt Aktion die Option Verbindung mit anderem Computer herstellen und gibt dort den Namen des PCs ein.

    Ordner mit Hilfe des Wizards freigeben

    Ist die Verbindung hergestellt, dann wechselt man im linken Teil des Fensters zu System => Freigegebene Ordner => Freigaben. Anschließend führt man im Menü Aktion den Befehl Neue Freigabe aus und startet auf diese Weise einen Wizard, der Schritt für Schritt alle Optionen für das Anlegen von Shares präsentiert.

    Die Computerverwaltung unterstützt das Freigeben eines Ordners mit einem Wizard.

    Dazu zählt neben der Erteilung der Benutzerrechte für die Freigabe auch die Konfiguration für Offline-Dateien. Nach dem Durchlauf des Assistenten wird die Freigabe erstellt und sie taucht dann in der entsprechenden Liste im mittleren Teil des Fensters auf. Dort lässt sie sich über das Menü Aktion => Freigabe aufheben auch wieder entfernen.

    Server Manager mit erweiterten Möglichkeiten

    Hat man die RSAT installiert, dann kann man mit dem Server Manager von Client-PCs aus Ordner auf Windows-Servern freigeben. Im Gegensatz zur Computerverwaltung eignet sich dieser aber nicht, um Freigaben auf Windows 7 oder XP zu verwalten.

    Der Server-Manager bietet ebenfalls einen Wizard zur Freigabe von Ordnern, der sich aus dem rechten Teil des Fensters starten lässt (Freigabe bereitstellen), wenn man zuvor im linken Abschnitt zu Rollen => Dateidienste => Freigabe- und Speicherverwaltung wechselt. Im Vergleich zur Computerverwaltung bietet der Server-Manager eine Reihe weiterer Optionen, mit denen er die zusätzlichen Features eines Servers abbildet.

    Im Server Manager kann man für neue Shares gleich die NTFS- und Freigaberechte anpassen.

    Dazu gehört, dass der Wizard nicht nur Freigaben über SMB unterstützt, sondern auch über NFS, falls die Dienste für das Network File System installiert sind. Hilfreich ist zudem, dass der Server Manager beim Anlegen von Shares die Konfiguration der NTFS- und Freigaberechte zulässt, so dass das schwierige Zusammenspiel der beiden Zugriffsregeln leichter in den Griff zu bekommen ist. Zu den Server-spezifischen Optionen gehört zudem, dass sich eine neue Freigabe gleich in einen DFS-Baum einhängen lässt.

    Freigaben erstellen auf der Kommandozeile

    Da sich net share nicht auf entfernte Rechner anwenden lässt und rmtshare.exe aus dem Windows Ressource Kit veraltet ist (aber unter Windows Server 2008 R2 noch funktionieren soll), bietet sich als Alternative die Nutzung von WMI an. Auf der Kommandozeile steht dafür wmic zur Verfügung. Um einen Ordner remote freizugeben, kann man das Programm ohne Argumente starten und dann folgende Anweisung eingeben:

    /node:Computer-Name share call create "", "Beschreibung", "Max. Verbindungen", "Freigabename", "","Lokaler Pfad", 0

    also beispielsweise:

    /node:remotePC share call create "","Test",4,"win","","c:\test",0

    Freigaben lassen sich mit wmic auch wieder beenden, und zwar durch den Befehl

    share delete

    In diesem Fall zeigt wmic Freigabe für Freigabe an und frägt nach, ob sie entfernt werden soll.

    Der WMI-Aufruf lässt auch in Scripts ausführen, hier Beispiele für VBScript und Powershell.

    5 Kommentare

    Bild von tech
    tech sagt:
    16. Mai 2012 - 11:24

    Hallo Wolfgang,

    danke für den Blog!

    Die Befehlszeile zum Erstellen einer Freigabe remote funktioniert wie folgt wunderbar:
    :Computer-Namen im Netzwerk | Beschreibung der Freigabe | Max. Benutzeranzahl | Ordnernamen | Pfad
    wmic /node:PC-Büro share call create "","Fax-Ordner ist für alle Benutzer freigegeben",4,"Fax","","E:\Dokumente\Fax",0

    Allerdings schaffe ich nicht die richtige Syntax für remote Löschen/Beenden einer Freigabe ebenso als eine Batch-Befehlszeile zusammenzustellen.
    Du schreibst oben 'share delete'. D. h. es wäre dann etwa wie folgt: 'wmic share delete ...'
    Nach Studieren der Help-Beschreibung und intensivem Ausprobieren habe ich dann so eine Zeile ausgeführt:
    'wmic share delete /nointeractive'
    ;) und das hat mir alle Freigaben (nicht auf dem Remote-Rechner sondern auf meinem Client) gelöscht:
    Instanz "\\M65\ROOT\CIMV2:Win32_Share.Name="C$"" wird gelöscht
    Instanz wurde gelöscht.
    Instanz "\\M65\ROOT\CIMV2:Win32_Share.Name="D$"" wird gelöscht
    Instanz wurde gelöscht.
    Instanz "\\M65\ROOT\CIMV2:Win32_Share.Name="Desktop"" wird gelöscht
    Instanz wurde gelöscht.

    usw. für die restlichen Freigaben…
    Es ist nicht so schlimm: Die administrative Standard-Freigaben werden nach Neustart automatisch wiederhergestellt.
    Die restlichen habe ich erneut anlegen müssen.

    Es wäre eine gute Ergänzung zu deinem Blog, wenn du hier die richtige Syntax zum Remote-Löschen schreiben würdest.
    Google liefert anhand "wmic share delete" Null-Ergebnisse.

    Danke schön.

    Bild von fireshadow
    fireshadow sagt:
    17. Mai 2012 - 0:35

    Das geht z.B. so: wmic share where Name="xyz" delete

    Bild von tech
    tech sagt:
    17. Mai 2012 - 7:10

    Hallo fireshadow,

    prima! Es klappt!

    Wäre es möglich bei der Freigabe die Benutzer zu definieren (oder sie nachträglich hinzuzufügen bzw. zu entfernen)?
    Zugriffsrechte sind ein wichtiger Punkt.

    Bild von fireshadow
    fireshadow sagt:
    17. Mai 2012 - 18:33

    Das ist nicht ganz einfach. Bisher habe ich für diesen Zweck nur ziemlich komplizierte Scripts gesehen. Ich stimme allerdings zu, dass es schön wäre, das rein über wmic zu lösen.

    So auf Anhieb kann ich nur eine Variante anbieten, die die Berechtigungen lesen kann:

    wmic path Win32_logicalsharesecuritysetting where name="xyz" call getsecuritydescriptor

    Das müsste sich eigentlich so erweitern lassen, dass man die Berechtigungen auch setzen kann. Ich bitte jedoch um Verständnis, dass mir dafür gerade die Zeit fehlt.

    Bild von tech
    tech sagt:
    17. Mai 2012 - 19:06

    Danke schön. Das Anzeigen der Berechtigungen funktioniert.
    Vielleich kann uns jemand bei Gelegenheit hier helfen.

    Als Tipp: Die erstellte Batch-Datei wird nicht von einem Benutzer mit Administrator-Rechten ausgeführt. Hierfür ist der echte Administrator-Benutzer nötig, z. B:
    runas /user:Administrator MeinBatch.bat

    Gruß
    evinben