Nous ne mettons plus à jour ce contenu régulièrement. Consultez la page Politique de support Microsoft pour plus d’informations sur la prise en charge de ce produit, de ce service, de cette technologie ou de cette API.
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