Comment exécuter un script PowerShell
‘Ozanne CADET / 31/12/2013
Dans l'article comment installer et vérifier le bon fonctionnement de PowerShell, nous avions ouvert nterpréteur de
‘commande PowerShell et exécuté quelques instructions. Si utilisation de Tinterpréteur suffit pour lancer quelques
commandes occasionnelles, cela devient vite contraignante s'l s’agit de lancer toute une série de commandes. Dans ce
cas [utilisation de scripts, que vous allez pouvoir conserver, modifier selon le besoin et partager avec vos collegues,
sera plus appropriée. Nous allons découvrir dans cet article comment exécuter un soript Powershell
Consultez la section Powershell Pour jes Nuls pour accédez a I'index de tous les tutoriels Powershell
proposés sur SysKB
Un script Powershell peut étre lancé a partir d'un fichier .BAT , d'une invite de commande, depuis l'interpréteur
Powershell, d'un service, d'une tache planifiée ou simplement en double cliquant sur le script
Créer un script Powershell
Pour créer un fichier de script PowerShell, il suffit de créer un fichier ayant pour extension .PS1 dans lequel vous allez
copier votre code,
Nous créons par exemple un fichier nommé monscript.ps? dans lequel nous copions le code suivant(Cipconfig | Findstr [6-9].\.)[0]) .Split()[-1]
function Pause ($Hessage="Appuyez sur une touche pour quitter...
{
Write-Host -NoNewLine $Message
$null = $Host.UT-RawUT .ReadKey("NoEcho, IncludeKeyDown")
Write-Host "")
Pause
Ce script permet d'afficher votre adresse IP puis de faire une pause avant de sortir.
Modifier les paramétres de sécurité de Powershell
‘Si nous tentons d'exécuter ce script en ouvrant une invite de commande et en tapant la commande suivante:
Powershell. c:\nonscript.psi
lest fort probable que vous obteniez le message suivant
C:\ppowershell c:\nonscript.pst.
Impossible de charger le fichier C:\nonscript.psi, car 1'exécution de scripts est désactivée sur ce sy.
ce
En effet il va falloir au préalable modifier les paramétres de sécurité implémentés dans PowerShell. Par défaut il est
impossible de lancer un script sans passer par lnterpréteur PowerShell. Nous allons donc modifier une bonne fois pour
toute ces paramétres de sécurité.
Pour cela ouvrez linterpréteur PowerShell et entrez la commande suivante:
PS C:\> Get-ExecutionPolicy
Vous devriez alors obtenir le résultat suivant:
PS C:\> Get-ExecutionPolicy
Restricted
Ps
PowerShell propose 4 modes de sécurité différents:
+ AllSigned
+ RemoteSigned
+ Unrestricted
Toujours dans I'interpréteur PowerShell entrez la commande suivante afin de changer de mode et d'autoriser
Pexécution de script locaux
PS C:\> Set-ExecutionPolicy ResoteSigned\Vous pouvez vérifier que le changement est bien été effectué en retapant la commande suivante:
PS C:\> Get-ExecutionPolicy
Vous devriez cette fois obtenir le résultat suivant:
PS C:\> Get-ExecutionPolicy
RenoteSigned
PS ci\>
Vous pouvez désormais exécuter un script Powershell depuis votre station de travail
Exécuter un script Powershell
A présent il est possible d'exécuter le script précédemment créé suivant la méthode de votre choix:
En ligne de commande
En ouvrant une invite de commande et en exécutant la commande suivante:
powershell c:\nonscript.pst
le résultat obtenu doit étre de la forme suivante:
€:\ppowershell c:\nonscript.pst
192.168.0.10
Press any key to continue.
puis l'interpréteur Powershell
lest bien évidement possible d'exécuter un script PowerShell depuis Finterpréteur Powershell en tapant la commande
suivante:
-\nonduseript.pst
C'est notamment trés pratique lors du débogage d'un script !
Ce nest quiun variante de lexécution parla ligne de commande puisqu'll sufft de créer un fichier .BAT contenant le
code suivant:
powershell c:\nonscript.pst
Via un service Windows ou Ie planificateur de taches
it suffit cette fois diutiliser de planifier lexécution du fichier BAT via un service ou une tache planifiée. Il existe des
‘outils gratuit pour créer facilement un service Windows.