Comment transférer les autorisations de fichiers avec PowerShell

Contenu

Logo Powershell

Le maintien des autorisations de partage de fichiers sur tous les serveurs peut être un défi majeur, mais lors de l'utilisation de PowerShell, nous pouvons automatiser cette procédure vous permettant de rentrer plus tôt chez vous.

Lors de l'exécution d'une migration de fichier, vous ne devez pas seulement faire attention aux fichiers et au dossier lui-même, mais aussi les permissions établies sur ces objets. Dans chaque fichier et dossier, il peut y avoir un ensemble différent d'entrées de contrôle d'accès (AS) qui composent une liste de contrôle d'accès (LCA). Selon le nombre de fichiers que vous migrez, cela peut être beaucoup.

Lors du déplacement de fichiers vers un nouvel emplacement, les permis ne viennent pas toujours avec eux. Lors d'une migration de masse, en tant que serveurs de fichiers complets avec des autorisations complexes, il est essentiel de conserver ces autorisations avec les objets lorsqu'ils se déplacent vers le nouvel emplacement.

Il existe des alternatives pour le faire.

Un outil préféré pour effectuer des migrations de fichiers est robocopie. Robocopia c'est un excellent outil avec beaucoup de cloches et de sifflets, mais il peut être compliqué à utiliser et peut ne pas fonctionner dans toutes les situations. Quand cela arrive, Je recherche régulièrement un outil appelé icacls. C'est un outil qui existe depuis longtemps et, Quoi robocopie, a de nombreux commutateurs, simplifions donc un peu cet outil avec du PowerShell.

Utiliser PowerShell pour transférer des autorisations

Même si vous pouvez utiliser directement l'utilitaire de ligne de commande icacls, pas le plus simple à comprendre. Pour remédier à cela, vous découvrirez PowerShell en tant que conteneur pour appeler le icacls outil pour simplifier cette procédure parfois accablante.

Premier, nous devrons télécharger un outil existant qui a déjà été créé pour nous. L'une des meilleures choses à propos de la communauté PowerShell est que, comme d'habitude, il existe un outil pour nous aider. Dans cette circonstance, nous aurons besoin d'un module PowerShell. Ce module PowerShell se trouve dans le Galerie PowerShell.

Si vous avez PowerShell v4 ou version ultérieure, vous aurez déjà quelques commandes pour prendre ce module rapidement.

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

Une fois que vous avez terminé le code ci-dessus, vous devriez maintenant avoir un nouveau module installé sur votre ordinateur disponible pour utilisation. Une fois cette installation terminée, nous devons maintenant exécuter une commande à l'intérieur du module dans le dossier contenant tous les fichiers sur lesquels nous aimerions transférer les autorisations.

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

Une fois qu'il fonctionne, vous devriez voir une sortie similaire à celle-ci et commencer à voir le fichier enregistré commencer à croître.

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

Quand c'est terminé, vous devriez maintenant avoir toutes les autorisations pour les fichiers et dossiers dans le fichier enregistré. Maintenant, nous pouvons restaurer ce fichier. Malgré cela, avant que cela n'arrive, assurez-vous de faire un exactement copier tous les fichiers dans le dossier précédent; cas contraire, cela ne fonctionnera pas.

Pour restaurer les autorisations sur le nouveau chemin de dossier, maintenant nous utiliserions le Restore-Acl commander.

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

Une fois ceci terminé, Toutes les autorisations NTFS doivent être mises en miroir à partir de votre dossier source et du nouveau dossier de destination !!

résumé

L'utilisation d'un module Community PowerShell gratuit et d'un peu de magie de script peut rendre la tâche écrasante de déplacer les autorisations NTFS d'un serveur vers un autre jeu d'enfant.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.