RUBRIQUE about_Profiles DESCRIPTION COURTE Décrit comment créer et utiliser un profil Windows PowerShell. DESCRIPTION LONGUE Vous pouvez créer un profil Windows PowerShell pour personnaliser votre environnement et ajouter des éléments spécifiques à chaque session Windows PowerShell que vous démarrez. Un profil Windows PowerShell est un script qui s'exécute au démarrage de Windows PowerShell. Vous pouvez utiliser le profil en tant que script d'ouverture de session pour personnaliser l'environnement. Vous pouvez ajouter des commandes, des alias, des fonctions, des variables, des composants logiciels enfichables, des modules et des lecteurs Windows PowerShell. Vous pouvez également ajouter d'autres éléments spécifiques aux sessions à votre profil de sorte qu'ils soient disponibles dans chaque session et que vous n'ayez pas à les importer ou à les recréer. Windows PowerShell prend en charge plusieurs profils pour les utilisateurs et les programmes hôtes. Toutefois, il ne crée pas les profils pour vous. Cette rubrique décrit les profils et la façon de les créer et de les gérer sur votre ordinateur. Elle explique comment utiliser le paramètre NoProfile de la console Windows PowerShell (PowerShell.exe) pour démarrer Windows PowerShell sans profil. Enfin, elle explique l'effet de la stratégie d'exécution Windows PowerShell sur les profils. LES FICHIERS PROFILS Windows PowerShell prend en charge plusieurs fichiers profils. De même, les programmes hôtes de Windows PowerShell peuvent prendre en charge leurs propres profils spécifiques. Par exemple, la console Windows PowerShell prend en charge les fichiers profils de base suivants. Les profils sont répertoriés par ordre de priorité. Le premier profil a la priorité la plus élevée. Description Path ----------- ---- Utilisateur actuel, $Home\[Mes ]documents\WindowsPowerShell\Profile.ps1 hôte actuel Utilisateur actuel, $Home\[Mes ]documents\Profile.ps1 tous les hôtes Tous les utilisateurs, $PsHome\Microsoft.PowerShell_profile.ps1 hôte actuel Tous les utilisateurs, $PsHome\Profile.ps1 tous les hôtes Les chemins d'accès aux profils incluent les variables suivantes : - La variable $PsHome, qui stocke le répertoire d'installation pour Windows PowerShell. - La variable $Home, qui stocke le répertoire de base de l'utilisateur actuel. De plus, d'autres programmes qui hébergent Windows PowerShell peuvent prendre en charge leurs propres profils. Par exemple, l'environnement d'écriture de scripts intégré (ISE) de Windows PowerShell prend en charge les profils spécifiques suivants. Description Path ----------- ----- Utilisateur actuel, $Home\[Mes ]documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1 hôte actuel Tous les utilisateurs, $PsHome\Microsoft.PowerShellISE_profile.ps1 hôte actuel Dans l'aide Windows PowerShell, le profil " Utilisateur actuel, hôte actuel " est le plus souvent appelé " votre profil Windows PowerShell ". LA VARIABLE $PROFILE La variable automatique $Profile stocke les chemins d'accès aux profils Windows PowerShell disponibles dans la session active. Pour afficher un chemin d'accès à un profil, affichez la valeur de la variable $Profile. Vous pouvez également utiliser la variable $Profile dans une commande pour représenter un chemin d'accès. La variable $Profile stocke le chemin d'accès au profil " Utilisateur actuel, hôte actuel ". Les autres profils sont enregistrés dans les propriétés de note de la variable $Profile. Par exemple, la variable $Profile a les valeurs suivantes dans la console Windows PowerShell. Nom Description ----------- ----------- $Profile Utilisateur actuel, hôte actuel $Profile.CurrentUserCurrentHost Utilisateur actuel, hôte actuel $Profile.CurrentUserAllHosts Utilisateur actuel, tous les hôtes $Profile.AllUsersCurrentHost Tous les utilisateurs, hôte actuel $Profile.AllUsersAllHosts Tous les utilisateurs, tous les hôtes Parce que les valeurs de la variable $Profile changent pour chaque utilisateur et dans chaque application hôte, vérifiez que vous affichez les valeurs des variables de profil dans chaque application hôte Windows PowerShell que vous utilisez. Pour afficher les valeurs actuelles de la variable $Profile, tapez : $profile | get-member -type noteproperty Vous pouvez utiliser la variable $Profile dans de nombreuses commandes. Par exemple, la commande suivante ouvre le profil " Utilisateur actuel, hôte actuel " dans le Bloc-notes : notepad $profile La commande suivante détermine si un profil " Tous les utilisateurs, tous les hôtes " a été créé sur l'ordinateur local : test-path $profile.AllUsersAllHosts COMMENT CRÉER UN PROFIL Pour créer un profil Windows PowerShell, utilisez le format de commande suivant : if (!(test-path <nom-profil>)) {new-item -type file -path <nom-profil> -force} Par exemple, pour créer un profil pour l'utilisateur actuel dans l'application hôte Windows PowerShell actuelle, utilisez la commande suivante : if (!(test-path $profile)) {new-item -type file -path $profile -force} Dans cette commande, l'instruction If vous empêche de remplacer un profil existant. Remplacez la valeur de l'espace réservé <chemin d'accès-profil> par le chemin d'accès au fichier profil que vous souhaitez créer. Remarque : pour créer des profils " Tous les utilisateurs " dans Windows Vista et les versions ultérieures de Windows, démarrez Windows PowerShell avec l'option " Exécuter en tant qu'administrateur ". COMMENT MODIFIER UN PROFIL Vous pouvez ouvrir tout profil Windows PowerShell dans un éditeur de texte, tel que le Bloc-notes. Pour ouvrir le profil de l'utilisateur actuel dans l'application hôte Windows PowerShell actuelle dans le Bloc-notes, tapez : notepad $profile Pour ouvrir d'autres profils, spécifiez leur nom. Par exemple, pour ouvrir le profil pour tous les utilisateurs de toutes les applications hôtes, tapez : notepad $profile.AllUsersAllHosts Pour appliquer les modifications, enregistrez le fichier profil, puis redémarrez Windows PowerShell. COMMENT CHOISIR UN PROFIL Si vous utilisez plusieurs applications hôtes, placez les éléments que vous utilisez dans toutes les applications hôtes dans votre profil $Profile.CurrentUserAllHosts. Placez les éléments spécifiques à une application hôte, tels qu'une commande définissant la couleur d'arrière-plan d'une application hôte, dans un profil spécifique. Si vous êtes administrateur et personnalisez Windows PowerShell pour de nombreux utilisateurs, suivez ces indications : -- Stockez les éléments communs dans le profil $profile.AllUse rsAllHosts. -- Stockez les éléments spécifiques à une application hôte dans les profils $profile.AllUsersCurrentHost spécifiques à l'application hôte. -- Stockez les éléments spécifiques à des utilisateurs particuliers dans des profils spécifiques. Consultez la documentation d'application hôte pour toute implémentation spéciale des profils Windows PowerShell. COMMENT UTILISER UN PROFIL Bon nombre des éléments que vous créez dans Windows PowerShell et la plupart des commandes que vous exécutez affectent uniquement la session active. Lorsque vous mettez fin à la session, les éléments sont supprimés. Les éléments et commandes spécifiques à une session incluent les variables, variables de préférence, alias, fonctions, commandes (sauf Set-ExecutionPolicy) et composants logiciels enfichables Windows PowerShell que vous ajoutez à la session. Pour enregistrer ces éléments et les rendre disponibles dans toutes les sessions futures, ajoutez-les à un profil Windows PowerShell. Une autre utilisation courante des profils consiste à enregistrer les fonctions, alias et variables fréquemment utilisés. Lorsque vous enregistrez les éléments dans un profil, vous pouvez les utiliser dans toute session applicable sans les recréer. COMMENT DÉMARRER UN PROFIL Lorsque vous ouvrez le fichier profil, il est vierge. Toutefois, vous pouvez le remplir avec des variables, des alias et des commandes que vous utilisez fréquemment. Voici quelques suggestions pour commencer. -- Ajoutez des commandes qui facilitent l'ouverture de votre profil. Cela est particulièrement utile si vous utilisez un profil autre que le profil " Utilisateur actuel, hôte actuel ". Par exemple, ajoutez la commande suivante : function pro {notepad $profile.CurrentUserAllHosts} -- Ajoutez une fonction qui ouvre l'aide Windows PowerShell dans un fichier d'aide HTML compilé (.chm). function Get-CHM { (invoke-item $env:windir\help\mui\0409\WindowsPowerShellHelp.chm) } Cette fonction ouvre la version anglaise du fichier .chm. Toutefois, vous pouvez remplacer le code de langue (0409) pour ouvrir d'autres versions du fichier .chm. -- Ajoutez une fonction qui répertorie les alias pour toute applet de commande. function Get-CmdletAlias ($cmdletname) { get-alias | Where {$_.definition -like "*$cmdletname*"} | ft Definition, Name -auto } -- Ajoutez une commande Add-PsSnapin pour ajouter tout composant logiciel enfichable Windows PowerShell que vous utilisez. -- Personnalisez votre console. function Color-Console { $host.ui.rawui.backgroundcolor = "blanc" $host.ui.rawui.foregroundcolor = "noir" $hosttime = (dir $pshome\powershell.exe).creationtime $Host.UI.RawUI.WindowTitle = "Windows PowerShell $hostversion ($hosttime)" clear-host } Color-console -- Ajoutez une invite Windows PowerShell personnalisée incluant le nom de l'ordinateur et le chemin d'accès actuel. function prompt { $env:computername + "\" + (get-location) + "> " } Pour plus d'informations sur l'invite Windows PowerShell, consultez about_Prompts. LE PARAMÈTRE NOPROFILE Pour démarrer Windows PowerShell sans profil, utilisez le paramètre NoProfile de PowerShell.exe, le programme qui démarre Windows PowerShell. Pour commencer, ouvrez un programme capable de démarrer Windows PowerShell, tel que Cmd.exe ou Windows PowerShell lui-même. Vous pouvez également utiliser la boîte de dialogue Exécuter de Windows. Tapez : powershell -noprofile Pour obtenir une liste complète des paramètres de PowerShell.exe, tapez : powershell -? PROFILS ET STRATÉGIE D'EXÉCUTION La stratégie d'exécution Windows PowerShell détermine, en partie, si vous pouvez exécuter des scripts et charger des fichiers de configuration, y compris des profils. La stratégie d'exécution " Restricted " (Restreinte) est la stratégie par défaut. Elle empêche tous les scripts de s'exécuter, notamment les profils. Si vous utilisez la stratégie restreinte, le profil ne s'exécute pas et son contenu n'est pas appliqué. Une commande Set-ExecutionPolicy permet de définir et de modifier votre stratégie d'exécution. Il s'agit de l'une des quelques commandes qui s'appliquent dans toutes les sessions Windows PowerShell car la valeur est enregistrée dans le Registre. Vous n'avez pas à la définir lorsque vous ouvrez la console et vous n'avez pas à stocker de commande Set-ExecutionPolicy dans votre profil. PROFILS ET SESSIONS À DISTANCE Les profils Windows PowerShell ne sont pas exécutés automatiquement dans les sessions à distance, par conséquent, les commandes ajoutées par les profils ne sont pas présentes dans la session à distance. De plus, la variable automatique $profile n'est pas remplie dans les sessions à distance. Pour exécuter un profil dans une session, utilisez l'applet de commande Invoke-Command. Par exemple, la commande suivante exécute le profil CurrentUserCurrentHost de l'ordinateur local de la session dans $s. invoke-command -session $s -filepath $profile La commande suivante exécute le profil CurrentUserCurrentHost de l'ordinateur distant de la session dans $s. Étant donné que la variable $profile n'est pas remplie, la commande utilise le chemin d'accès explicite au profil. invoke-command -session $s {invoke-expression "$home\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"} Après avoir exécuté cette commande, les commandes que le profil ajoute à la session sont disponibles dans $s. VOIR AUSSI about_Automatic_Variables about_Functions about_Prompts about_Execution_Policies about_Signing about_Remote Set-ExecutionPolicy