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




Table des matières