Mon PC Windows...

Commandes PowerShell

 

Tout d'abord, sachez qu'il existe plusieurs versions de powershell. Selon votre version de Windows, vous ne disposez pas nativement de la même version de Powershell. Notez également qu'il existe une version multiplateforme de Powershell (Powershell Core), celle-ci a été adaptée et comporte quelques différence avec les versions Powershell natives de Windows, cette version peut être utilisée avec certaines versions de Linux et de Mac OS. Les commandes powershell s'executent dans un environnement dédié, vous pouvez le démarrarer dans une fenêtre de commande Powershell (Démarrer>Executer>Powershell.exe) ou encore avec l'application Powershell ISE qui permet également de développer et tester des scripts. 

Vous trouverez ci dessous les informations utiles pour vérifier l'environnement et le contexte d'execution de vos commandes et scripts PS1.
Dans nos pages Commandes Powershell, vous trouverez aussi plusieurs lignes de commandes utiles. Notez que certaines d'entre elles nécessitent d'utiliser le mode Administrateur (élévation de priviléges, executer en tant qu'Administrateur).

 

Vérifier si vous pouvez exécutez des commandes et scripts

$PsVersionTable affiche la version de PowerShell installée sur l'ordinateur. Vous pouvez alors vous renseigner sur la compatibilité des scripts utilisés

Get-ExecutionPolicy affiche la stratégie d'execution des scripts powershell (Restricted, AllSigned, RemoteSigned, Unrestricted). Seuls les modes RemoteSigned et Unrestricted vous permettent d'executer tous les scripts et commandes (signés ou non) en local.
 *Pour modifier la stratégie et permettre aux scripts de s'executer correctement en local, utilisez Set-ExecutionPolicy RemoteSigned en mode Administrateur

$ExecutionContext.SessionState.LanguageMode affiche le mode de language contraint.
FullLanguage indique qu'il n'y a pas de restriction - ConstrainedLanguage indique qu'il y a des restrictions
Pour lever les restrictions, définissez la clé de registre ci dessous à 8
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\__PSLockdownPolicy (REG_SZ)

Get-command affiche la liste des commandes disponibles

Get-module -listavailable affiche les modules actuellement disponibles dans Windows
> Les modules sont présents à l'emplacement défini par la variable d'environnement Windows PSModulePath
 *La commande Install-Module permet d'ajouter des modules téléchargés

 

Créer un raccourci ou une tâche planifiée pour executer un script powershell

L'execution d'un script Powershell se fait à partir de l'application Powershell.exe. La ligne de commande ci dessous permet d'executer nomscript.ps1 en évitant la stratégie d'execution, elle nécessite un compte avec les priviléges élevés (cochez la case dans les paramètres avancés du raccourci ou de la tâche planifiée). Si nécessaire, n'oubliez pas de préciser le paramètre executer dans avec le chemin du répertoire dans lequel se trouve le script.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -f nomscript.ps1