Ces scripts peuvent être exécutés en mode interactif mais dans le cadre de l’administration, il est souvent indispensable de mémoriser dans un premier temps les commandes utilisées au sein d’un fichier. La mémorisation d’un script Powershell se fait dans un fichier texte ayant une extension de type .ps1.
Automatisation des scripts

Ce fichier script peut alors être exécuté depuis l’environnement interactif Powershell, tout comme un fichier de type .bat au sein de l’interpréteur de commandes command.com. Il n’est pas possible d’exécuter un fichier .ps1 directement depuis l’environnement Windows, il faut lancer en premier lieu l’environnement Powershell avec les extensions Powershell pour Exchange puis indique ensuite le fichier .ps1 qui sera exécuté dans cet environnement.
Pour automatiser les étapes de chargement des environnements requis, il est possible d’utiliser un fichier .bat qui contiendra alors la commande suivante (en adaptant bien sur les différents chemins à votre environnement) :
C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe
-PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell. psc1" -command ". ‘C:\Scripts\monscript.ps1’".
Cette syntaxe pourra aussi être utilisée dans le cadre de la mise en place de scripts planifiés au sein du planificateur de tâches de Windows (Scheduler). Cette approche permet par exemple de générer directement des rapports formatés en HTML qui seront alors mis automatiquement sur un répertoire publié par un serveur Web par exemple.
Exemple de script avec mise en forme directement vers une page Web
# Type in a PowerShell script here
# and finish it by either get- cmdlet or write-output
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 10px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 10px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
Get-MailboxDatabase -status|Select storageGroupname,*fullback* |
convertto-html -head $a –body "<H2>Sauvegarde</H2>" |
out-file c:\scripts\backupstate.htm
Invoke-Expression c:\scripts\backupstate.htm
L’exécution de ce script est illustrée dans la figure 3.
Téléchargez cette ressource

Percer le brouillard des rançongiciels
Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La portabilité des données, un élément essentiel pour soutenir l’émergence des clouds souverains
- Passer d’une logique de productivité à une recherche d’utilité
- Pourquoi l’indépendance de Java devient une priorité au niveau du conseil d’administration ?
- Le Club EBIOS, une communauté dédiée à la gestion des risques autour de la méthode EBIOS
- La difficile mise en conformité avec les réglementations pour les entreprises françaises
