PowerShell est un outil pratique pour les administrateurs informatiques. Dans Windows 11, PowerShell peut être personnalisé pour répondre à vos besoins en ajoutant des modules, en utilisant des profils PowerShell et en appliquant une stratégie de groupe.
Configurer l’environnement PowerShell
PowerShell dispose de configurations intégrées qui sont créées pour répondre aux besoins généraux des utilisateurs. Toutefois, cette configuration n’est que basique et peut devoir être adaptée aux besoins spécifiques de l’administrateur.
Par exemple, certaines fonctionnalités, telles que l’exécution de scripts ou la journalisation des modules, ne sont pas actives par défaut, les utilisateurs doivent donc les activer pour se conformer à leurs politiques de sécurité ou à leur environnement de travail.

Comment modifier la configuration à l’aide de scripts de profil PowerShell
Le script de profil PowerShell est un script automatisé qui s’exécute chaque fois que PowerShell est ouvert. Ces scripts permettent aux utilisateurs de configurer automatiquement l’environnement de travail, par exemple en ajoutant des modules, en définissant des variables ou des fonctions personnalisées.
PowerShell fournit quatre types de fichiers de profil pour différents scénarios :
1. AllUsersAllHosts
Ce profil s’applique à tous les utilisateurs sur tous les hôtes PowerShell.
Emplacement par défaut :
C :\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
2. AllUsersCurrentHost
Ce profil s’applique à tous les utilisateurs, mais uniquement à certains hôtes (tels que PowerShell, VS Code ou Windows Terminal).
Emplacement par défaut :
C :\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
3. CurrentUserAllHosts
Ce profil ne s’applique qu’aux utilisateurs connectés, mais peut être utilisé sur tous les hôtes.
Emplacement par défaut :
C :\Users\<Username>\Documents\WindowsPowerShell\profile.ps1
4. CurrentUserCurrentHost
Ce profil ne s’applique qu’aux utilisateurs qui sont actuellement connectés sur un hôte spécifique.
Emplacement par défaut :
C :\Users\<Username>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Étapes pour modifier la configuration du profil :
- Vérifiez que le fichier de profil existe déjà à l’emplacement par défaut. Si vous n’en avez pas déjà un, vous pouvez en créer un manuellement.
- Utilisez un éditeur de texte tel que le Bloc-notes ou Visual Studio Code pour modifier le fichier de profil selon vos besoins.
- Ajoutez des configurations, telles que le chargement automatique de modules ou des paramètres variables, à l’intérieur du fichier.
Syntaxe simple pour vérifier l’emplacement des fichiers de profil avec $Profile
PowerShell dispose d’une variable intégrée nommée $Profile qui stocke l’emplacement de chaque type de fichier de profil. Vous pouvez utiliser la commande suivante pour vérifier l’emplacement de votre fichier de profil :
$Profile | Format-ListLes résultats afficheront l’emplacement complet de chaque fichier de profil. Si le fichier de profil n’existe pas déjà, vous pouvez en créer un à l’aide de la commande suivante :
New-Item -Path $Profile.CurrentUserAllHosts -ItemType File -ForceAjout et gestion de modules PowerShell
Un module PowerShell est un ensemble de commandes (applets de commande), de fonctions et de scripts organisés en une seule unité. Ce module a été créé pour améliorer la capacité de PowerShell à accomplir certaines tâches, telles que la gestion du système, les paramètres de sécurité et l’automatisation des processus administratifs.
Les principales fonctions du module PowerShell sont les suivantes :
- Fournit des commandes supplémentaires pour une variété de besoins spéciaux.
- Simplifiez la gestion du système grâce à l’automatisation.
- Ajout de fonctionnalités PowerShell intégrées pour prendre en charge l’intégration avec des applications ou des services tiers.
Comment accéder à PowerShell Gallery pour télécharger des modules
PowerShell Gallery est un référentiel en ligne qui stocke des milliers de modules créés par Microsoft et la communauté. Vous pouvez rechercher, télécharger et installer facilement des modules à partir de cette galerie.
Étapes pour accéder à la galerie PowerShell :
- Accédez au site Web officiel de la galerie PowerShell à l’adresse https ://www.powershellgallery.com.
- Utilisez la fonction de recherche sur le site pour trouver les modules dont vous avez besoin.
- Installez le module directement via PowerShell à l’aide de la commande Install-Module.
Install-Module -Name ModuleName -Scope CurrentUserRemplacez ModuleName par le nom du module que vous souhaitez installer.
Étapes de mise à jour de PowerShellGet
Pour tirer parti des dernières fonctionnalités de la galerie PowerShell, assurez-vous que le module PowerShellGet est mis à jour vers la dernière version. Voici les étapes à suivre :
1. Vérifiez la version actuelle de PowerShellGet :
Get-Module -Name PowerShellGet -ListAvailable2. Si la version existante est ancienne, mettez-la à jour avec la commande suivante :
Install-Module -Name PowerShellGet -Force -Scope CurrentUser3. Assurez-vous que le module est mis à jour en vérifiant à nouveau la version.
Commandes de base pour la recherche et l’ajout de modules
Voici quelques commandes de base pour la gestion des modules dans PowerShell :
1. Recherche du module dans la galerie PowerShell :
Find-Module -Name ModulName2. Installation du module :
Install-Module -Name ModulName -Scope PenggunaSaatIni3. Affichez les modules déjà installés sur le système :
Get-InstalledModule4. Suppression de modules :
Uninstall-Module -Name ModulName5. Mise à jour du module :
Update-Module -Name ModulNameImplémenter une stratégie de groupe pour PowerShell
Group Policy est une fonctionnalité importante de Windows qui permet aux administrateurs de définir des paramètres et des stratégies sur les ordinateurs d’un réseau basé sur Active Directory. Avec la stratégie de groupe, vous pouvez contrôler divers aspects du système d’exploitation, y compris la configuration PowerShell, ce qui vous donne plus de contrôle sur la sécurité, la journalisation et le comportement par défaut.
Dans le contexte de PowerShell, la stratégie de groupe permet :
- Application de stratégies de sécurité aux scripts.
- Gestion de la journalisation des activités PowerShell pour les audits.
- Fourniture d’un environnement de travail uniforme dans tous les ordinateurs de l’organisation.
Stratégies configurables via la stratégie de groupe pour PowerShell
1. Politique d’exécution
Cette stratégie spécifie les autorisations d’exécution de scripts PowerShell. Vous pouvez configurer le niveau de sécurité en sélectionnant l’une des stratégies suivantes :
- Restricted : Ne permet pas l’exécution de scripts.
- RemoteSigned : Les scripts d’une télécommande doivent avoir une signature numérique valide.
- Unrestricted : Tous les scripts peuvent être exécutés sans restrictions.
Étapes de définition de la stratégie d’exécution dans la stratégie de groupe :
- Ouvrez Group Policy Management Console (GPMC).
- Accédez à Computer Configuration > Administrative Templates > Windows Components >Windows PowerShell.
- Définissez la stratégie Turn on Script Execution et sélectionnez la stratégie souhaitée.
Exemple de commande manuelle :
Si vous n’utilisez pas la stratégie de groupe, vous pouvez définir la stratégie directement dans PowerShell :
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned2. Enregistrement du module
Cette stratégie permet de journaliser les activités de modules spécifiques utilisés dans PowerShell. Ceci est particulièrement utile pour les audits de sécurité ou le dépannage.
Comment configurer la journalisation des modules dans la stratégie de groupe :
- Ouvrez Windows PowerShell > Turn on Module Logging.
- Ajoutez le module pour lequel vous souhaitez activer la journalisation, tel que NTFSSecurity ou ActiveDirectory.
3. Journalisation des blocs de script
Cette stratégie consigne chaque bloc de scripts exécutés dans PowerShell, y compris les commandes et les scripts plus complexes. Cette fonctionnalité permet de détecter les activités suspectes ou les attaques basées sur des scripts.
Comment configurer la journalisation des blocs de script :
- Stratégies d’accès Turn on PowerShell Script Block Logging.
- Activez la stratégie pour consigner toutes les exécutions de blocs de script.
4. Transcription
Cette stratégie enregistre toutes les sessions PowerShell dans des fichiers journaux, y compris les entrées et les sorties. Il est très efficace pour l’audit et le débogage.
Comment configurer la transcription :
- Accédez à Turn on PowerShell Transcription dans la stratégie de groupe.
- Spécifiez l’emplacement où les journaux sont stockés, par exemple : C :\Transcripts\.
- Les résultats du journal enregistreront chaque session exécutée par l’utilisateur.
Comment mettre à jour l’aide locale avec Update-Help
PowerShell dispose d’une fonctionnalité Update-Help qui permet de mettre à jour la documentation d’aide des modules déjà installés. Vous pouvez utiliser la stratégie de groupe pour configurer un référentiel local comme source des mises à jour, afin de ne pas avoir à télécharger à partir d’Internet.
Étapes manuelles à l’aide de Update-Help :
1. Créez un référentiel local pour le fichier d’aide.
2. Définissez le référentiel local à l’aide de la commande suivante :
Save-Help -DestinationPath “C :\HelpRepo”3. Mettre à jour l’aide à l’aide de dépôts locaux :
Update-Help -SourcePath “C :\HelpRepo”Recommandations pour les modules et les scripts fréquemment utilisés
Pour augmenter la productivité et automatiser les tâches administratives, voici quelques modules recommandés de PowerShell :
1. NTFSSecurity
Fonction : Gérez facilement ACLs (Access Control Lists) sur les fichiers et les dossiers.
Exemple de commande :
Get-NTFSAccess -Path “C :\ContohFolder”2. PSWindowsUpdate
Sa fonction : Gérer les mises à jour Windows via PowerShell.
Installation:
Install-Module -Name PSWindowsUpdate3. ActiveDirectory
Fonction : Gérer les Active Directory tels que les utilisateurs, les groupes et les stratégies.
Exemple de commande :
Get-ADUser -Filter *-Properties DisplayName4. Pester
Fonction : Tester les scripts et les modules PowerShell pour garantir la qualité du code.
Installation:
Install-Module -Name Pester5. ImportExcel
Fonction : Gérez les données Excel sans avoir besoin d’ouvrir l’application Excel.
Exemple de commande :
Import-Excel -Path “C :\Data.xlsx”| Select-Object Name, Age
