So übertragen Sie Dateiberechtigungen mit PowerShell

Inhalt

Powershell-Logo

Die Aufrechterhaltung der Dateifreigabeberechtigungen auf allen Servern kann eine große Herausforderung sein, aber bei Verwendung von PowerShell, Wir können diesen Vorgang automatisieren, sodass Sie früher nach Hause gehen können.

Beim Durchführen einer Dateimigration, Sie sollten nicht nur auf die Dateien und den Ordner selbst achten, aber auch die Berechtigungen, die für diese Objekte eingerichtet wurden. In jeder Datei und jedem Ordner kann es einen anderen Satz von Zugriffskontrolleinträgen geben (AS) die eine Zugriffskontrollliste bilden (ACL). Abhängig von der Anzahl der Dateien, die Sie migrieren, das kann viel sein.

Beim Verschieben von Dateien an einen neuen Speicherort, Genehmigungen sind nicht immer dabei. Beim Durchführen einer Massenmigration, als vollständige Dateiserver mit komplizierten Berechtigungen, Es ist wichtig, diese Berechtigungen für die Objekte beizubehalten, wenn sie an den neuen Speicherort verschoben werden.

Dafür gibt es einige Alternativen.

Ein beliebtes Tool zum Durchführen von Dateimigrationen ist Robocopy. Robocopia es ist ein tolles Werkzeug mit viel Schnickschnack, aber es kann kompliziert zu bedienen sein und funktioniert möglicherweise nicht in allen Situationen. Wenn das passiert, Ich suche regelmäßig nach einem Tool namens icacls. Dies ist ein Werkzeug, das es schon lange gibt und, Was Robocopy, hat viele Schalter, Vereinfachen wir dieses Tool ein wenig mit etwas PowerShell.

Verwenden Sie PowerShell, um Berechtigungen zu übertragen

Obwohl Sie das Befehlszeilen-Dienstprogramm icacls direkt verwenden können, nicht ganz einfach zu verstehen. Um dies zu beheben, Sie erfahren mehr über PowerShell als Container zum Aufrufen der icacls Werkzeug, um dieses manchmal überwältigende Verfahren zu vereinfachen.

Entscheiden , wir müssen ein vorhandenes Tool herunterladen, das bereits für uns erstellt wurde. Eines der besten Dinge an der PowerShell-Community ist das, im Allgemeinen, Es gibt ein Tool, das uns hilft. Unter diesen Umständen, wir benötigen ein PowerShell-Modul. Dieses PowerShell-Modul finden Sie im PowerShell-Galerie.

Wenn Sie PowerShell v4 oder höher haben, Sie werden bereits einige Befehle haben, um dieses Modul schnell zu belegen.

PS> Find-Module -Name NTFSPermissionMigration | Install-Module

Sobald Sie den obigen Code abgeschlossen haben, Sie sollten jetzt ein neues Modul auf Ihrem Computer installiert haben, das Sie verwenden können. Sobald diese Installation abgeschlossen ist, Jetzt müssen wir einen Befehl innerhalb des Moduls in dem Ordner ausführen, der alle Dateien enthält, auf die wir Berechtigungen übertragen möchten.

PS> Save-Acl -FolderPath OLDSERVERFileShare -SaveFilePath C:FilePermissions.txt

Sobald es läuft, Sie sollten eine ähnliche Ausgabe sehen und sehen, wie die gespeicherte Datei zu wachsen beginnt.

processed file: OLDSERVERFileShareFile1.txt
processed file: OLDSERVERFileShareFile2.exe
Successfully processed X files; Failed processing 0 files

Wenn das fertig ist, Sie sollten jetzt alle Berechtigungen für die Dateien und Ordner in der gespeicherten Datei haben. Jetzt, Wir können diese Datei wiederherstellen. Trotz dieses, bevor das passiert, mach unbedingt a Exakt kopiere alle Dateien in den vorherigen Ordner; umgekehrter Fall, das wird nicht funktionieren.

So stellen Sie die Berechtigungen für den neuen Ordnerpfad wieder her, jetzt würden wir die verwenden Restore-Acl Befehl.

PS> Restore-Acl -RestoreToFolderPath NEWFILESERVERFileShare -PermissionFilePath C:FilePermissions.txt
Successfully processed XXX files; Failed processing 0 files

Sobald dies abgeschlossen ist, Alle NTFS-Berechtigungen sollten von Ihrem Quellordner und dem neuen Zielordner gespiegelt werden!!

Zusammenfassung

Die Verwendung eines kostenlosen Community PowerShell-Moduls und ein wenig Skriptmagie kann die überwältigende Aufgabe des Verschiebens von NTFS-Berechtigungen von einem Server auf einen anderen zum Kinderspiel machen.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.