Eine Netzwerkfreigabe mit der Windows PowerShell erstellen

Ordner und Dateien per Windows PowerShell im Netzwerk freigeben

Grundlegendes

Um Ordner und Dateien im Netzwerk freizugeben, verwendet man in der Regel die grafische Oberfläche. Aber es geht auch anderes so eben mit der Windows PowerShell. Aber warum sollte man nicht die grafische Oberfläche verwenden? Zum einen könnte man einen Core Server betreuen, wo man eine Freigabe erstellen möchte und zum anderen wäre auch ein Windows PE System denkbar. In beiden Fällen geht es nur über die Konsole. Also  entweder per cmd oder PowerShell. Dieses Tutorial bezieht sich auf die Windows PowerShell.

Freigabe mit der WMI Klasse erstellen

Die erste Möglichkeit bezieht sich auf Verwendung der WMI Klasse “Win32_Share”. Im folgenden wird ein kleines Script erstellt, welches sämtliche wichtigen Parameter für die Erstellung der Freigabe enthält. Genaueres könnt ihr natürlich auf der MSDN Seite von Mircosoft nachlesen. Alle Parameter werden dabei in Variablen gespeichert, welche anschließend der Methode create übergeben werden. Um ein Script in der Windows PowerShell ausführen zu dürfen, müssen noch die Ausführungsrichtlinien entsprechend gesetzt sein. Des Weitern ist es wichtig, dass die Windows PowerShell ISE mit administrativen Rechten gestartet wird und der freizugebende Ordner schon vorhanden ist.

$share = [wmiclass]"Win32_Share"
 $path = 'c:\MeineFreigabe'
 $name = 'MeineFreigabe'
 $maxallowed = 10
 $description = 'Netzwerkfreigaben'

$share.Create($path, $name, 0, $maxallowed,$description,$null,$null)
Windows Netzwerkfreigabe mit der PowerShell erstellen: WMI Klasse Win32_Share

Freigabe mit PowerShell Modul SmbShare erstellen

Viel einfacher geht es neuerdings mit dem Modul SmbShare. Als erstes sollte man prüfen, ob das Modul vorhanden ist. Falls das nicht der Fall ist, lässt sich das Modul sehr leicht nachinstallieren. Über die Befehlserweiterung in der PowerShell ISE kann man anschließend alle zugehörigen Commandos auffinden. Wie deutlich ersichtlich ist, gibt es hier eine Menge, welche die Verwaltung von Netzwerkfreigaben sehr vereinfacht. So kann man z.B. ganz einfach mit New-SmbMapping ein Netzlaufwerk einbinden. Die detaillierte Vorgehensweise hiefür findet ihr im Artikel: Netzlaufwerk mit der Windows PowerShell einbinden – Neues Modul SmbShare.

Windows Netzwerkfreigabe mit der PowerShell erstellen: SmbShare – Module anzeigen
Windows Netzwerkfreigabe mit der PowerShell erstellen: SmbShare – Commandos anzeigen

Um jetzt eine neue Freigabe zu erzeugen, benötigt man das Cmdlet New-SmbShare. Auch hier gibt es viele Parameter. Was die einzelnen bedeuten erhält man am Besten, wenn man die Hilfe aufruft

get-help New-SmbShare -detailed

Im folgenden wird eine Freigabe mit dem Namen: MeineFreigabe2 eingebunden.

New-SmbShare -name "MeineFreigabe2" -Path c:\MeineFreigabe2
Windows Netzwerkfreigabe mit der PowerShell erstellen: New-SmbShare

Fazit

Auch mit der Windows PowerShell kann man sehr einfach Netzwerkfreigaben erstellen. Gerade mit dem neuen Modul SmbShare geht es doch sehr einfach. Die Vorteile der PowerShell* sind natürlich auch hier wieder, dass man die Sachverhalte automatisieren kann, was gerade für einen häufigen Einsatz sehr vom Vorteil sind.