Gorodenkoff - stock.adobe.com
NetApp-CIFS-Shares mit PowerShell verwalten
NetApp bietet ein funktionsreiches PowerShell-Modul zur Verwaltung von CIFS-Shares. Erfahren Sie, wie es funktioniert, und wie Sie eine neue Freigabe und Berechtigungen einrichten.
Windows-IT-Experten sind in der Regel sehr erfahren in der Arbeit mit CIFS, auch bekannt als SMB. Es sind Netzwerk-Shares, die auf Windows Server erstellt und verwaltet werden. Schließlich ist Windows standardmäßig mit mehreren bereits erstellten CIFS-Share wie C$ und ADMIN$ ausgestattet. Eine weitere Möglichkeit, Windows Server für CIFS-Shares zu verwenden, sind NAS- oder SAN-Systeme, wie beispielsweise von NetApp.
Da IT-Verantwortliche häufig PowerShell verwenden, hat NetApp ein PowerShell-Toolkit erstellt, mit dem nicht nur NetApps CIFS-Shares, sondern auch Shares auf dem gesamten System verwaltet werden können. In diesem Artikel konzentriere ich mich nur auf CIFS-Shares und richte eine neue NetApp CIFS-Shares von Grund auf neu ein, zusammen mit Berechtigungen.
Eine Sache, man beachten muss, ist, dass SMB oft das bevorzugte Protokoll gegenüber CIFS ist. NetApp verwendet jedoch in der Regel CIFS in seiner Terminologie.
Erstellen eines CIFS-Share
Nach der Installation des PowerShell-Toolkits finden sich einige cmdlets im Modul:
C:\> Get-Command -Modul DataONTAP | Measure-Object | Select-Object -Property Count
Count: 2019
Noch besser, es gibt 111 Cmdlets, die CIFS im Namen haben:
C:\> Get-Command -Name *CIFS* -Modul DataONTAP | Measure-Object | Select-Object -Property Count
Count: 111
Da wir mit einer bestimmten Storage Virtual Machine (SVM) auf NetApp arbeiten werden, sollten wir uns zunächst mit ihr verbinden:
C:\> Connect-NcController -Name SVM1
Erstellen wir nun ein Verzeichnis auf einem Volume, das wir für die CIFS-Shares verwenden werden:
C:\> New-NC Directory -Path vol/fas_vol/test-Permission 777
Nun, da wir ein Verzeichnis bereit haben, können wir eine CIFS-Shares erstellen:
C:\> Add-NcCifsShare -Name'test' -Pfad /fas_vol/test -ShareProperties @("browsable", "showsnapshot") -Comment 'test share'
Beachten Sie, dass der Parameter -ShareProperties einige mögliche Werte außerhalb von browsable und showsnapshot enthält. Oplocks ermöglicht es CIFS-Clients beispielsweise, das Caching von read-ahead-, write-behind- und Lock-Informationen durchzuführen. Eine andere Option ist die Angabe von changeotify, so dass CIFS-Clients Änderungsbenachrichtigungen für Verzeichnisse auf der Freigabe sehen.
Um die Freigabe anzuzeigen, können wir das Cmdlet Get-NcCifsShare verwenden:
C:\> Get-NcCifsShare -Name test
CifsServer ShareName Pfadangabe Kommentar
SVM1 Test /fas_vol/test Testfreigabe
Arbeiten mit Berechtigungen
Standardmäßig – zumindest in meinem Fall – sind die Berechtigungen für diese CIFS-Shares auf jeden eingestellt. Dies ist höchstwahrscheinlich nicht das, was ein Administrator will, denn das würde bedeuten, dass jeder in einer Active-Directory-Domäne auf die Shares zugreifen kann. Aus diesem Grund werden wir zuerst Berechtigungen zum Share hinzufügen und dann alle entfernen.
C:\> Add-NcCifsShareAcl -Freigabetest -UserOrGroup 'domain\testgroup' -Berechtigung full_control -UserGroupType windows
Beachten Sie, dass es mehrere Optionen gibt, um Berechtigungen zu einem Share hinzuzufügen. Die verschiedenen Arten von Berechtigungen sind no_access, read, change oder full_control. Der -UserGroupType gibt an, ob es sich um einen Windows- oder Unix-Benutzer oder eine Gruppe handelt.
Jetzt lassen sich alle entfernen.
C:\> Remove-NcCifsShareAcl - Share Test -UserOrGroup jeder
Denken Sie daran, dass dies nur ein Teil des Prozesses der Einstellung von Berechtigungen ist, da auch NT-Dateisystemberechtigungen für die Dateien festgelegt werden sollten. Dies kann über native Windows PowerShell-Cmdlets wie Get-ACL und Set-ACL oder über den Windows Explorer erfolgen.
NetApp CIFS-Shares ändern
Um eine vorhandene CIFS-Freigabe zu ändern, verwenden Sie das Cmdlet Set-NcCifsShare, das unter anderem einen CIFS-Pfad, Share-Eigenschaften, Kommentare, Dirumask und max connections ändern kann.
In diesem Beispiel ändere ich den Pfad, auf den die CIFS-Share gezeigt wird:
C:\> Set-NcCifsShare -Namenstest -Pfad '/fas_vol/newpath'.
Entfernen eines CIFS-Share
Natürlich gibt es Zeiten, in denen Sie eine CIFS-Share vollständig von Ihrer NetApp entfernen möchten. Um die CIFS-Share zu löschen:
C:\> Remove-NcCifsShare -Name test
Danach können Sie das Verzeichnis auf dem Volume selbst auch mit Remove-NcDirectory entfernen, aber Sie müssen zuerst alle Daten im Ordner entfernen.
Anzeigen von CIFS-Verbindungen
Eine weitere großartige Funktion für NetApp CIFS-Shares ist die Anzeige aktiver Sitzungen von CIFS-Clientcomputern aus. Der Befehl dazu -- Get-NcCifsSession -- liefert ebenfalls einige wertvolle Informationen, wie zum Beispiel die IP-Adresse des Clients, den Authentifizierungsmechanismus, die SMB-Protokollversion und den Windows-Benutzer.
In diesem Beispiel möchte ich alle diese anzeigen, daher verwende ich Select-Object in PowerShell, um diese Eigenschaften anzuzeigen:
C:\> Get-NcCifsSession | Adresse auswählen,AuthMechanism,ProtocolVersion,Windows-Benutzer
Adresse AuthMechanismus ProtokollVersion WindowsBenutzer
------- ------------- --------------- -----------
172.16.18.18.108 kerberos smb3_1 DOMAIN\testuser1
172.16.18.18.90 ntlmv2 smb2_1 DOMAIN\testuser2
172.16.18.18.9 ntlmv2 smb2_1 DOMAIN\testuser3
Wie Sie sehen können, habe ich einige Clients, die Kerberos verwenden, und andere, die Windows NT LAN Manager zur Authentifizierung verwenden. Ich sehe auch, dass einige Clients die Version 2 von SMB verwenden, während andere die Version 3 nutzen.
Automatisierungsvorteil
NetApp ist eine von vielen lokalen Storage-Optionen, und die Tatsache, dass NetApp ein solches vollwertiges PowerShell-Modul zur Verwaltung von Shares bereitstellt, ist eine gute Nachricht für Windows IT-Profis. Rund um NetApp Filer – und insbesondere um NetApp CIFS-Shares – gibt es eine Menge Automatisierung, die mit dem PowerShell-Modul des Herstellers erreicht werden kann.