More

    Configurer et gérer PowerShell Windows 11 pour administrateurs

    Advertisement

    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.

    Advertisement

    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.

    Advertisement
    PowerShell Key Configuration

    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 :

    Advertisement

    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 :

    1. 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.
    2. Utilisez un éditeur de texte tel que le Bloc-notes ou Visual Studio Code pour modifier le fichier de profil selon vos besoins.
    3. 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-List

    Les 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 -Force

    Ajout 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.

    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 :

    1. Accédez au site Web officiel de la galerie PowerShell à l’adresse https ://www.powershellgallery.com.
    2. Utilisez la fonction de recherche sur le site pour trouver les modules dont vous avez besoin.
    3. Installez le module directement via PowerShell à l’aide de la commande Install-Module.
    Install-Module -Name ModuleName -Scope CurrentUser

    Remplacez 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 -ListAvailable

    2. Si la version existante est ancienne, mettez-la à jour avec la commande suivante :

    Install-Module -Name PowerShellGet -Force -Scope CurrentUser

    3. 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 ModulName

    2. Installation du module :

    Install-Module -Name ModulName -Scope PenggunaSaatIni

    3. Affichez les modules déjà installés sur le système :

    Get-InstalledModule

    4. Suppression de modules :

    Uninstall-Module -Name ModulName

    5. Mise à jour du module :

    Update-Module -Name ModulName

    Implé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 :

    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 RemoteSigned

    2. 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 PSWindowsUpdate

    3. ActiveDirectory

    Fonction : Gérer les Active Directory tels que les utilisateurs, les groupes et les stratégies.

    Exemple de commande :

    Get-ADUser -Filter *-Properties  DisplayName

    4. Pester

    Fonction : Tester les scripts et les modules PowerShell pour garantir la qualité du code.

    Installation:

    Install-Module -Name Pester

    5. 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

    Articles Récents