Comment transférer des autorisations de fichiers avec PowerShell

Le maintien des autorisations de partage de fichiers sur les serveurs peut être un défi majeur, mais en utilisant PowerShell, nous pouvons automatiser ce processus permettant vous devez rentrer chez vous plus tôt.

Lors de la migration de fichiers, vous devez non seulement tenir compte des fichiers et des dossiers eux-mêmes, mais également des autorisations définies sur ces objets. Sur chaque fichier et dossier pourrait potentiellement se trouver un ensemble différent d'entrées de contrôle d'accès (ACE) qui constituent une liste de contrôle d'accès (ACL). Selon le nombre de fichiers que vous migrez, cela peut être beaucoup.

Lorsque vous déplacez des fichiers vers un nouvel emplacement, les autorisations ne les accompagnent pas toujours. Lors d'une migration massive comme des serveurs de fichiers entiers avec des autorisations complexes en place, il est important de conserver ces autorisations avec les objets lorsqu'ils se déplacent vers le nouvel emplacement.

Il existe plusieurs façons de procéder. ceci.

Un outil préféré pour effectuer des migrations de fichiers est robocopy. Robocopy 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. Lorsque cela se produit, j'examine généralement un outil appelé icacls. C'est un outil qui existe depuis longtemps et, comme robocopy, a beaucoup de commutateurs, alors simplifions un peu cet outil avec du PowerShell.

Utilisation de PowerShell pour transférer des autorisations

Bien que vous puissiez utiliser directement l'utilitaire de ligne de commande icacls, ce n'est pas le plus simple à comprendre. Pour remédier à cela, vous allez découvrir un PowerShell en tant que wrapper pour appeler l'outil icacls afin de simplifier ce processus parfois intimidant.

Publicité

Tout d'abord, nous devrons télécharger un outil existant qui a déjà été créé pour nous. L'un des avantages de la communauté PowerShell est qu'il existe généralement un outil pour nous aider. Dans ce cas, nous aurons besoin d'un module PowerShell. Ce module PowerShell se trouve dans la galerie PowerShell.

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

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

Une fois le code ci-dessus terminé, vous devriez maintenant avoir un nouveau module installé sur votre ordinateur et prêt à être utilisé. Une fois cette installation terminée, nous devons maintenant exécuter une commande à l'intérieur du module sur le dossier contenant tous les fichiers sur lesquels nous aimerions transférer les autorisations.

PS> Save-Acl -FolderPath \\OLDSERVER\FileShare -SaveFilePath C:\FilePermissions.txt

Une fois que cela est exécuté, vous devriez voir une sortie similaire à celle-ci et commencer à voir que le fichier de sauvegarde commence à croître.< /p>fichier traité : \\OLDSERVER\FileShare\File1.txt fichier traité : \\OLDSERVER\FileShare\File2.exe Fichiers X traités avec succès ; Échec du traitement de 0 fichiers

Lorsque cela est terminé, vous devriez maintenant avoir toutes les autorisations pour les fichiers et dossiers à l'intérieur du fichier de sauvegarde. Maintenant, nous pouvons restaurer ce fichier. Avant que cela ne se produise, assurez-vous de faire une copie exacte de tous les fichiers à l'intérieur de l'ancien dossier, sinon cela ne fonctionnera pas.

Pour restaurer les autorisations sur le nouveau chemin du dossier, nous’ d maintenant utiliser la commande Restore-Acl.

PS> Restore-Acl -RestoreToFolderPath \\NEWFILESERVER\FileShare -PermissionFilePath C:\FilePermissions.txt Fichiers XXX traités avec succès ; Échec du traitement de 0 fichiers Publicité

Une fois cette opération terminée, 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 communautaire PowerShell gratuit et d'un peu de magie de script peut transformer une tâche ardue consistant à déplacer les autorisations NTFS d'un serveur à un autre en un tour de main.


Posted

in

by

Tags: