Dieses PowerShell-Modul übernimmt die Kontrolle über NTFS-Berechtigungen

Obwohl PowerShell eine Reihe nativer Cmdlets zum Konfigurieren des Speichers enthält, ist dies möglich Konfigurieren Sie NTFS Berechtigungen fehlen merklich. Glücklicherweise bietet Microsoft eine Möglichkeit, NTFS-Berechtigungen über PowerShell abzurufen und zu konfigurieren. Dazu müssen Sie jedoch ein dediziertes Modul herunterladen und installieren.

Das erforderliche Modul ist das PowerShell-Modul für Dateisystemsicherheit. Kopieren Sie die Dateien in einen Ordner mit dem Namen NTFSSecurity im Ordner PowerShell-Module (Sie müssen den Ordner NTFSSecurity erstellen). Standardmäßig befindet sich der Ordner “PowerShell-Module” unter:% Windir% System32 WindowsPowerShell v1.0 Modules.

Nachdem das Modul in den entsprechenden Ordner kopiert wurde, empfiehlt es sich, die Verfügbarkeit des Moduls mit dem folgenden Befehl zu überprüfen:

Get-Module –ListAvailable

Vorausgesetzt, dass die NTFS-Modul aufgelistet ist, sollten Sie es mit dem folgenden Befehl importieren können:

Import-Modul NTFSSecurity

Beachten Sie Folgendes, es sei denn, Sie haben die Ausführungsrichtlinie des Servers über das geändert Set-ExecutionPolicy Cmdlet, dieser Befehl erzeugt eine Fehlermeldung, die Sie darüber informiert, dass das Ausführen von Skripten auf dem System deaktiviert ist.

Sobald die Ausführungsrichtlinie importiert wurde, können Sie mit NTFS-Berechtigungen arbeiten. Sie müssen das NTFSSecurity-Modul jedoch jedes Mal importieren, wenn Sie es verwenden müssen.

Sag ich habe hat einen Ordner erstellt auf meinem Server namens C: Data. Stellen Sie sich vor, wir wollten die Einträge in der Zugriffssteuerungsliste für diesen Ordner anzeigen. Dazu könnten wir den folgenden Befehl verwenden:

Get-NTFSAccess – Pfad C: Data

Dieser Befehl listet jedes Konto / jede Sicherheitsgruppe auf, die Zugriff auf den Ordner hat, die Zugriffsrechte, die Rechte, die Art der Rechte sowie die Flags IsInherited und InheritedFrom (Abbildung 1).

Administrator: Windows PowerShell

Sie können NTFS-Berechtigungen über PowerShell anzeigen.

Das Gewähren des Zugriffs auf einen Ordner ist fast so einfach wie das Anzeigen der vorhandenen Berechtigungen. Für diese Aufgabe müssen Sie das Cmdlet Add-NTFSAccess verwenden. Sie müssen auch den Pfad, das Konto und die Zugriffsrechte angeben. Um zu sehen, wie dies funktioniert, gewähren wir “Jeder” vollen Zugriff auf den Ordner C: Data. Dazu würden wir den folgenden Befehl verwenden:

Add-NTFSAccess –Pfad C: Data –Account Everyone –AccessRights FullControl

Jetzt habe ich eine Berechtigung hinzugefügt, die jedem die volle Kontrolle über C: Data gibt, und Get-NTFSAccess verwendet Cmdlet um die Berechtigung zu überprüfen (Abbildung 2).

Administrator: Windows PowerShell

Der Gruppe Jeder wurde Zugriff auf den Ordner C: Data gewährt.

Obwohl ich jedem die Berechtigung erteilen konnte, müssen Sie normalerweise einen Kontostandort angeben (Abbildung 2). Beispielsweise verwenden einige der vorhandenen Berechtigungen Speicherorte wie BUILTIN oder NT AUTHORITY. In der realen Welt geben Sie normalerweise einen Domänennamen in Verbindung mit einem Gruppennamen oder einem Benutzernamen an. Wenn Sie beispielsweise Zugriff auf die Finanzgruppe in der Contoso-Domäne gewähren möchten, geben Sie das Konto als Contoso Finance ein.

Das Entfernen von NTFS-Berechtigungen kann etwas schwierig sein. Der Befehl, den Sie verwenden müssen, ist Remove-NTFSAccess. Wie zuvor müssen Sie den Pfad, den Kontonamen und die Rechte angeben, die Sie entfernen möchten. Wenn Sie beispielsweise die FullControl-Berechtigung von Everyone for C: Data entfernen möchten, können Sie den folgenden Befehl verwenden:

Remove-NTFSAccess –Pfad C: Data –Account Everyone –AccessRights FullControl

Der Grund, warum dieser Befehl schwierig sein kann, liegt darin, dass Sie geerbte Berechtigungen nicht entfernen können. Darüber hinaus müssen die Berechtigungen, die Sie entfernen, genau mit den Berechtigungen übereinstimmen, die dem Konto derzeit zugewiesen sind. Wenn Sie unterschiedliche Berechtigungen angeben, geschieht nichts.

Da es manchmal schwierig sein kann, die Berechtigungen perfekt abzugleichen, ist es möglicherweise einfacher, mehrere Befehle zusammen zu leiten, um die Berechtigungen zu entfernen. Angenommen, Sie möchten alle Berechtigungen für Jeder aus dem Ordner C: Data entfernen. Anstatt die Berechtigungen manuell anzugeben, können Sie PowerShell die Berechtigungen lesen und dann entfernen lassen. Der dafür erforderliche Code lautet:

Get-NTFSAccess –Path C: Data –Account Everyone –ExcludeInherited | Remove-NTFSAccess

Es ist auch möglich, diesen Befehl rekursiv zu verwenden, wenn Sie Berechtigungen aus einem gesamten Ordnerbaum entfernen müssen (Abbildung 3).

Administrator: Windows PowerShell

Die Berechtigungen für Alle wurden entfernt.

Similar Posts

Leave a Reply