Introduction à PowerShell
Débuter avec PowerShell
Dans ce cours, nous travaillerons avec des machines virtuelles Windows, soit avec Windows Server 2022, soit avec Windows 11. PowerShell est installé par défaut sur ces systèmes d'exploitation. Plus tard dans le cours nous verrons comment installer PowerShell sur d'autres systèmes d'exploitation, comme Linux.
Pour ce premiers cours, vous pouvez utiliser PowerShell sur n'importe quelle machine Windows, que ce soit une machine virtuelle ou votre propre ordinateur. Les instructions pour installer Windows Server sur une machinve virtuelle sont disponibles ici: Installation de Windows Server 2022 dans une machine virtuelle.
Sous Windows, Microsoft propose deux versions de PowerShell: Windows PowerShell et Windows PowerShell ISE (Integrated Scripting Environment). Windows PowerShell est la version classique, tandis que Windows PowerShell ISE offre une interface graphique pour faciliter l'écriture et le test de scripts. Pour ce cours, nous utiliserons principalement Windows PowerShell ISE.
Dans votre machine virtuelle, vous pouvez ouvrir Windows PowerShell ISE en recherchant "PowerShell ISE" dans le menu Démarrer. Ouvrez PowerShell ISE en tant qu'administrateur pour éviter les problèmes de permissions lors de l'exécution de certaines commandes. Pour ce faire, faites un clic droit sur l'icône de PowerShell ISE et sélectionnez "Exécuter en tant qu'administrateur".

Une fois ouvert, vous verrez une fenêtre avec un éditeur de texte pour écrire vos scripts et une console pour exécuter des commandes.

Une fois que vous avez ouvert PowerShell ISE, vous pouvez commencer à écrire des commandes. La fenêtre de l'ISE est divisée en trois parties : l'éditeur de script en haut, la console en bas, et un volet de commandes à droite. Pour l'instant, vous pouvez fermer le volet de commandes ainsi que l'éditeur de script. Nous nous concentrerons sur la console pour exécuter des commandes simples.

Autocomplétion de commandes
Comme sous Unix, PowersShell propose une fonctionnalité d'autocomplétion de commandes.
Pour se pratiquer, faites quelques essais dans la console de PowerShell ISE:
- Tapez
Get-Spuis appuyez plusieurs fois sur Tab. Cela fait défiler toutes les commandes commençant par "Get-S". Si vous dépassez la commande souhaitée, vous pouvez appuyer sur Shift-Tab, ce qui fera défiler les commandes dans l'autre sens. - Tapez
Dir, puis un espace, puisC:\, et appuyez sur Tab. Vous verrez une liste déroulante des dossiers et fichiers dans le répertoire C:. Vous pouvez également appuyer sur Tab plusieurs fois pour faire défiler les options. - Tapez
Set-Execuet appuyez sur Tab. Ensuite, tapez un espace suivi d'un tiret (-). Vous verrez une liste déroulante des paramètres disponibles pour la commande. Vous pouvez aussi taper une partie du nom d'un paramètre (par exemple,-E), puis appuyer sur Tab pour faire défiler les paramètres correspondants. Appuyez sur Échap pour effacer la ligne de commande. - Tapez à nouveau
Set-Execuet appuyez sur Tab. Tapez un espace, puis-E, et appuyez encore sur Tab. Tapez un autre espace et appuyez encore sur Tab. PowerShell fait défiler les valeurs autorisées pour ce paramètre. Cela fonctionne uniquement pour les paramètres qui ont un ensemble prédéfini de valeurs possibles (appelé une énumération). Appuyez à nouveau sur Échap pour effacer la ligne de commande ; on ne veut pas encore exécuter cette commande.
Contrairement à Unix, PowerShell n'est pas sensible à la casse. Vous pouvez taper les commandes et les paramètres en minuscules, en majuscules ou en mélangeant les deux, et PowerShell les reconnaîtra toujours.
Version de PowerShell
Pour vérifier la version de PowerShell que vous utilisez, tapez la commande suivante dans la console :
$PSVersionTable
En PowerShell, les variables sont précédées du signe dollar ($). La variable $PSVersionTable contient des informations sur la version de PowerShell et d'autres détails système.
Ainsi, cette commande affiche la version de PowerShell installée sur votre système. Vous devriez voir quelque chose comme 5.1.19041.1023 sous PSVersion, ce qui indique que vous utilisez PowerShell version 5.1.
Obtenir de l'aide sur PowerShell
PowerShell offre de l'aide directement dans la console. Ceci devrait être votre première ressource pour comprendre comment utiliser les commandes et les fonctionnalités de PowerShell.
En informatique, la lecture de la documentation (ou manuels) n'est pas une réflexe ancré chez les développeurs, qui ont tendance à chercher des solutions sur Internet. Cependant, la lecture et la compréhension de la docummentation sont essentielles pour tout professionel. Il est fortement encouragé de prendre l'habitude de lire les documents officielles des technologies que vous utilisez. Un acronyme a même été inventé pour encourager cette pratique : RTFM, qui signifie Read The Fine Manual (ou Read the Friendly Manual, ou autres variations...). Cette expression est souvent utilisée pour rappeler aux utilisateurs de consulter la documentation avant de poser des questions sur des forums ou des groupes de discussion en ligne.
Pour obtenir de l'aide sur une commande spécifique, utilisez la commande help suivie du nom de la commande. Par exemple, pour obtenir de l'aide sur la commande Get-Service, tapez :
help Get-Service
Lors de la première exécution de cette commande, vous remarquez que PowerShell vous demande de mettre à jour l'aide.
PS C:\Users\Administrateur> help Get-Service
NOM
Get-Service
SYNTAXE
Get-Service [[-Name] <string[]>] [<CommonParameters>]
Get-Service [<CommonParameters>]
Get-Service [<CommonParameters>]
ALIAS
gsv
REMARQUES
Get-Help ne parvient pas à trouver les fichiers d’aide de cette applet de commande sur cet ordinateur. Il ne trouve
qu’une aide partielle.
-- Pour télécharger et installer les fichiers d’aide du module comportant cette applet de commande, utilisez
Update-Help.
-- Pour afficher en ligne la rubrique d’aide de cette applet de commande, tapez : « Get-Help Get-Service -Online » ou
accédez à https://go.microsoft.com/fwlink/?LinkID=113332.
Pour mettre à jour l'aide, exécutez la commande suivante :
update-help
Cette commande doit être exécutée une fois par an en tant qu'administrateur, pour s'assurer que vous disposez des dernières informations et exemples d'utilisation des commandes.
Chercher une commande
Pour chercher une commande, vous pouvez utiliser des caractères génériques. Par exemple, pour trouver toutes les commandes liées aux journaux d'événements, tapez :
help *log*
Pour trouver des commandes liées aux événements, tapez :
help *event*
Ensuite, une fois que vous avez trouvé la commande que vous souhaitez utiliser, par exemple Get-EventLog, vous pouvez obtenir de l'aide spécifique sur cette commande en tapant :
Help Get-EventLog
Les paramètres
Il est important d'être capable de bien lire l'aide présente dans PowerShell.
Prenons l'exemple de la commande suivante:
PS C:\WINDOWS\system32> Help Get-EventLog
NOM
Get-EventLog
RÉSUMÉ
Gets the events in an event log, or a list of the event logs, on the local computer or remote
computers.
SYNTAXE
Get-EventLog [-After <System.DateTime>] [-AsBaseObject <System.Management.Automation.SwitchParameter>] [-Before <System.DateTime>] [-ComputerName
<System.String[]>] [-EntryType <System.String[]>] [-Index <System.Int32[]>] [[-InstanceId] <System.Int64[]>] [-LogName] <System.String> [-Message
<System.String>] [-Newest <System.Int32>] [-Source <System.String[]>] [-UserName <System.String[]>] [<CommonParameters>]
Get-EventLog [-AsString <System.Management.Automation.SwitchParameter>] [-ComputerName <System.String[]>] [-List
<System.Management.Automation.SwitchParameter>] [<CommonParameters>]
DESCRIPTION
The `Get-EventLog` cmdlet gets events and event logs from local and remote computers. By default, `Get-EventLog` gets logs from the local
computer. To get logs from remote computers, use the **ComputerName** parameter.
You can use the `Get-EventLog` parameters and property values to search for events. The cmdlet gets events that match the specified property
values.
PowerShell cmdlets that contain the `EventLog` noun work only on Windows classic event logs such as Application, System, or Security. To get logs
that use the Windows Event Log technology in Windows Vista and later Windows versions, use `Get-WinEvent`.
> [!NOTE] > `Get-EventLog` uses a Win32 API that is deprecated. The results may not be accurate. Use the > `Get-WinEvent` cmdlet instead.
LIENS CONNEXES
Clear-EventLog Clear-EventLog.md
Get-WinEvent ../Microsoft.PowerShell.Diagnostics/Get-WinEvent.md
Group-Object ../Microsoft.PowerShell.Utility/Group-Object.md
Limit-EventLog Limit-EventLog.md
New-EventLog New-EventLog.md
Remove-EventLog Remove-EventLog.md
Select-Object ../Microsoft.PowerShell.Utility/Select-Object.md
Show-EventLog Show-EventLog.md
Write-EventLog Write-EventLog.md
REMARQUES
Pour consulter les exemples, tapez : "get-help Get-EventLog -examples".
Pour plus d'informations, tapez : "get-help Get-EventLog -detailed".
Pour obtenir des informations techniques, tapez : "get-help Get-EventLog -full".
Pour l’aide en ligne, tapez : "get-help Get-EventLog -online"
La section "Syntaxe" décrit comment utiliser la commande, y compris les paramètres disponibles.
SYNTAXE
Get-EventLog [-After <System.DateTime>] [-AsBaseObject <System.Management.Automation.SwitchParameter>] [-Before <System.DateTime>] [-ComputerName
<System.String[]>] [-EntryType <System.String[]>] [-Index <System.Int32[]>] [[-InstanceId] <System.Int64[]>] [-LogName] <System.String> [-Message
<System.String>] [-Newest <System.Int32>] [-Source <System.String[]>] [-UserName <System.String[]>] [<CommonParameters>]
Get-EventLog [-AsString <System.Management.Automation.SwitchParameter>] [-ComputerName <System.String[]>] [-List
<System.Management.Automation.SwitchParameter>] [<CommonParameters>]
Nous remarquons que deux syntaxes sont disponibles pour la commande Get-EventLog. Cela signifie que la commande peut être utilisée avec deux ensembles de paramètres différents.
Chaque paramètre est décrit avec son type de données attendu entre crochets, par exemple <System.DateTime> pour le paramètre -After. Les paramètres entre crochets sont optionnels, tandis que ceux sans crochets sont obligatoires. Ainsi, dans le premier ensemble de paramètres, le paramètre -LogName est obligatoire (voir explications supplémentaires ci-dessous), tandis que les autres paramètres sont optionnels. Dans le deuxième ensemble de paramètres, aucun paramètre n'est obligatoire.
Les deux ensembles de paramètres contiennent [
Les paramètres positionnels
Afin d'éviter de taper le nom de chaque paramètre, PowerShell permet d'utiliser des paramètres positionnels. Cela signifie que vous pouvez fournir une valeur pour un paramètre sans avoir à taper son nom, tant que vous placez cette valeur à la bonne position dans la commande.
Il est possible d'identifier si un paramètre est positionnel directement dans le résumé de la syntaxe : le nom du paramètre — uniquement le nom — sera entouré de crochets. C'est le cas de deux paramètres dans le premier ensemble de paramètres de Get-EventLog :
[-LogName] <string> [[-InstanceId] <Int64[]>]
InstanceIdest positionnel, mais optionnel.LogNameest positionnel aussi, mais obligatoire.
Pour vérifier l'ordre exact des paramètres positionnels, nous pouvons exécuter les commandes suivantes dans PowerShell :
PS C:\WINDOWS\system32> Get-Help Get-EventLog -Parameter InstanceId
-InstanceId [<System.Int64[]>]
Specifies the Instance IDs to get from the event log. The parameter accepts a comma-separated string
of values.
Obligatoire ? false
Position ? 1
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
PS C:\WINDOWS\system32> Get-Help Get-EventLog -Parameter LogName
-LogName <System.String>
Specifies the name of one event log. To find the log names use `Get-EventLog -List`. Wildcard
characters are permitted. This parameter is required.
Obligatoire ? true
Position ? 0
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? true
La valeur de Position indique l'ordre dans lequel les paramètres doivent être fournis. Par exemple, -LogName est en position 0, ce qui signifie qu'il doit être le premier paramètre de la commande. -InstanceId est en position 1, donc il doit être le deuxième paramètre si vous choisissez de l'utiliser.
Ainsi, Get-EventLog peut être utilisé des façons suivantes :
Avec les noms des paramètres :
Get-EventLog -LogName Security -InstanceId 12345
Sans les noms des paramètres, en respectant l'ordre :
Get-EventLog Security 12345
Ou même en spécifiant le nom du paramètre -LogName et en omettant -InstanceId :
Get-EventLog Security -InstanceId 12345
Vous pouvez également omettre le paramètre -InstanceId si vous ne souhaitez pas l'utiliser, et la commande fonctionnera toujours :
Get-EventLog -LogName Security
Ou encore :
Get-EventLog Security
Les types des paramètres
Chaque paramètre a un type de données associé, qui détermine le type de valeur que vous pouvez lui fournir. Les types les plus communs sont:
- Chaîne de caractères (
String) — Une série de lettres et de chiffres. Celles-ci peuvent parfois inclure des espaces, mais dans ce cas, la chaîne entière doit être placée entre guillemets. Par exemple, une valeur de chaîne comme C:\Windows n’a pas besoin d’être entourée de guillemets, mais C:\Program Files en a besoin, car elle contient un espace au milieu. Pour l’instant, vous pouvez utiliser indifféremment des guillemets simples ou doubles, mais il est préférable de s’en tenir aux guillemets simples. Int,Int32ouInt64— Un nombre entier (un nombre entier sans partie décimale).DateTime— Généralement, une chaîne qui peut être interprétée comme une date selon les paramètres régionaux de votre ordinateur. Cela ressemble généralement à 10-10-2010, avec le mois, le jour et l’année.
Vous remarquerez également certains paramètres dont la définition comporte des crochets supplémentaires, par exemple :
[-ComputerName <string[]>]
Les crochets après string ne signifient pas que quelque chose est optionnel. Ici, string[] indique que le paramètre peut accepter un tableau, une collection ou une liste de chaînes de caractères. Dans ce cas, il est toujours possible de fournir une seule valeur :
Get-EventLog Security -ComputerName Server-R2
Mais il est aussi possible de spécifier plusieurs valeurs, en fournissant une liste séparée par des virgules. PowerShell considère toute liste séparée par des virgules comme un tableau de valeurs :
Get-EventLog Security -ComputerName Server-R2,DC4,Files02
Encore une fois, toute valeur individuelle contenant un espace doit être entourée de guillemets. Cependant, la liste entière ne doit pas être entourée de guillemets : seuls les éléments individuels en ont besoin. L’exemple suivant est donc valide :
Get-EventLog Security -ComputerName 'Server-R2','Files02'
Même si aucune de ces valeurs n’a besoin de guillemets, il est permis d’en mettre si vous le souhaitez. Par contre, l’exemple suivant est incorrect :
Get-EventLog Security -ComputerName 'Server-R2,Files01'
Dans ce cas, la commande cherchera un ordinateur nommé Server-R2,Files01, ce qui n’est probablement pas ce que vous vouliez.
Une autre façon de fournir une liste de valeurs consiste à les écrire dans un fichier texte, une valeur par ligne. Par exemple :
Server-R2
Files02
Files03
DC04
DC03
Vous pouvez ensuite utiliser la commande Get-Content pour lire le contenu de ce fichier et l’envoyer au paramètre -ComputerName. Pour cela, il faut forcer l’exécution de la commande Get-Content en premier, afin que ses résultats soient transmis au paramètre :
Get-EventLog Application -ComputerName (Get-Content names.txt)
C’est une astuce très utile. Il est courant de conserver des fichiers texte contenant les noms de différentes catégories d’ordinateurs (serveurs web, contrôleurs de domaine, serveurs de bases de données, etc.) et d’utiliser cette méthode pour exécuter des commandes sur des groupes entiers de machines.
Il existe d’autres moyens de fournir une liste de valeurs à un paramètre, comme lire les noms d’ordinateurs depuis Active Directory. Ces techniques sont un peu plus avancées et seront abordées dans des chapitres ultérieurs, après avoir vu les cmdlets nécessaires.
Enfin, il existe une autre façon de spécifier plusieurs valeurs pour un paramètre obligatoire : ne pas spécifier du tout le paramètre. Comme pour tous les paramètres obligatoires, PowerShell vous demandera alors la valeur à fournir. Pour les paramètres qui acceptent plusieurs valeurs, vous pouvez taper la première valeur puis appuyer sur Entrée. PowerShell vous demandera alors une deuxième valeur, et ainsi de suite. Lorsque vous avez terminé, appuyez sur Entrée sur une ligne vide pour indiquer à PowerShell que vous avez fini. Comme toujours, vous pouvez utiliser Ctrl-C pour annuler la commande si vous ne souhaitez pas continuer.
Finalement, certains paramètres, appelés commutateurs (ou "switches"), ne nécessitent aucune valeur d'entrée.
Par exemple, dans la commande Get-Process, le paramètre -IncludeUserName est un commutateur. Il n'accepte pas de valeur, mais il peut être utilisé pour modifier le comportement de la commande. Si vous l'incluez dans la commande, PowerShell affichera également le nom d'utilisateur associé à chaque processus.
PS C:\WINDOWS\system32> Help Get-Process
NOM
Get-Process
RÉSUMÉ
Gets the processes that are running on the local computer or a remote computer.
SYNTAXE
Get-Process [-ComputerName <System.String[]>] [-FileVersionInfo <System.Management.Automation.SwitchParameter>] [-Module <System.Management.Automation.SwitchParameter>] [[-Name] <System.String[]>]
[<CommonParameters>]
Get-Process -IncludeUserName <System.Management.Automation.SwitchParameter> [[-Name] <System.String[]>] [<CommonParameters>]
Get-Process -Id <System.Int32[]> -IncludeUserName <System.Management.Automation.SwitchParameter> [<CommonParameters>]
Get-Process [-ComputerName <System.String[]>] [-FileVersionInfo <System.Management.Automation.SwitchParameter>] -Id <System.Int32[]> [-Module <System.Management.Automation.SwitchParameter>]
[<CommonParameters>]
Get-Process -IncludeUserName <System.Management.Automation.SwitchParameter> -InputObject <System.Diagnostics.Process[]> [<CommonParameters>]
Get-Process [-ComputerName <System.String[]>] [-FileVersionInfo <System.Management.Automation.SwitchParameter>] -InputObject <System.Diagnostics.Process[]> [-Module
<System.Management.Automation.SwitchParameter>] [<CommonParameters>]
Alias
Les alias sont des raccourcis pour les commandes PowerShell. Ils permettent d'utiliser des noms plus courts ou plus familiers pour des commandes courantes. Par exemple, l'alias ls est un raccourci pour la commande Get-ChildItem, qui liste les fichiers et dossiers dans un répertoire.
Afficher les alias
Pour afficher tous les alias disponibles, utilisez la commande suivante :
Get-Alias
Cette commande affiche une liste de tous les alias, avec leur nom et la commande qu'ils représentent.
Pour obtenir la liste des alias d'une commande spécifique, vous pouvez utiliser la commande suivante :
Get-Alias -Definition <NomDeLaCommande>
Par exemple, pour obtenir les alias de la commande Get-Service:
PS C:\Users\Administrateur> Get-Alias -Definition Get-Service
CommandType Name Version Source
----------- ---- ------- ------
Alias gsv -> Get-Service
Ainsi, l'alias gsv est un raccourci pour la commande Get-Service. Vous pouvez utiliser gsv à la place de Get-Service pour obtenir la liste des services en cours d'exécution sur votre système. Les paramètres et les options de la commande restent les mêmes, vous pouvez donc utiliser gsv de la même manière que Get-Service.
Pour afficher la commande associée à un alias spécifique, vous pouvez utiliser la commande suivante :
help <Alias>
Par exemple, en exécutant help gsv, nous remarquons que le nom de la commande est Get-Service, ainsi que l'aide complète pour cette commande.
PS C:\Users\Administrateur> help gsv
NOM
Get-Service
RÉSUMÉ
Gets the services on a local or remote computer.
SYNTAXE
Get-Service [-ComputerName <System.String[]>] [-DependentServices <System.Management.Automation.SwitchParameter>]
[-Exclude <System.String[]>] [-Include <System.String[]>] [[-Name] <System.String[]>] [-RequiredServices
<System.Management.Automation.SwitchParameter>] [<CommonParameters>]
Get-Service [-ComputerName <System.String[]>] [-DependentServices <System.Management.Automation.SwitchParameter>]
-DisplayName <System.String[]> [-Exclude <System.String[]>] [-Include <System.String[]>] [-RequiredServices
<System.Management.Automation.SwitchParameter>] [<CommonParameters>]
Get-Service [-ComputerName <System.String[]>] [-DependentServices <System.Management.Automation.SwitchParameter>]
[-Exclude <System.String[]>] [-Include <System.String[]>] [-InputObject <System.ServiceProcess.ServiceController[]>]
[-RequiredServices <System.Management.Automation.SwitchParameter>] [<CommonParameters>]
DESCRIPTION
The `Get-Service` cmdlet gets objects that represent the services on a local computer or on a remote computer, including
running and stopped services. By default, when `Get-Service` is run without parameters, all the local computer's services
are returned.
You can direct this cmdlet to get only particular services by specifying the service name or the display name of the
services, or you can pipe service objects to this cmdlet.
LIENS CONNEXES
Online Version https://learn.microsoft.com/powershell/module/microsoft.powershell.management/get-service?view=powershell-5
.1&WT.mc_id=ps-gethelp
New-Service New-Service.md
Restart-Service Restart-Service.md
Resume-Service Resume-Service.md
Set-Service Set-Service.md
Start-Service Start-Service.md
Stop-Service Stop-Service.md
Suspend-Service Suspend-Service.md
REMARQUES
Pour consulter les exemples, tapez : "get-help Get-Service -examples".
Pour plus d'informations, tapez : "get-help Get-Service -detailed".
Pour obtenir des informations techniques, tapez : "get-help Get-Service -full".
Pour l’aide en ligne, tapez : "get-help Get-Service -online"
Créer un alias
Pour créer un alias, utilisez la commande New-Alias. Par exemple, pour créer un alias s pour la commande Get-Service, vous pouvez utiliser la commande suivante :
New-Alias -Name s -Value Get-Service
Cela crée un nouvel alias s qui exécute la commande Get-Service. Vous pouvez maintenant utiliser s à la place de Get-Service pour obtenir la liste des services en cours d'exécution.
Cependant, les alias créés avec New-Alias ne sont valables que pour la session PowerShell en cours. Si vous fermez PowerShell, l'alias sera perdu.
Ainsi, la création d'alias personnalisés n'est pas une pratique courante chez les professionnels, car ils ne sont pas persistants et ne sont connus que par l'utilisateur. Il est préférable d'utiliser les alias par défaut fournis par PowerShell, qui sont bien connus et largement utilisés.
Show-Command
Bien que PowerShell propose une autocomplétion des commandes, il peut être difficile de se souvenir de tous les paramètres disponibles pour une commande spécifique. Pour faciliter cette tâche, PowerShell offre la commande Show-Command, qui affiche une interface graphique permettant de sélectionner les paramètres d'une commande.
Pour utiliser Show-Command, tapez la commande suivante dans la console PowerShell :
Show-Command
Cela ouvre une fenêtre graphique où vous pouvez entrer le nom de la commande pour laquelle vous souhaitez afficher les paramètres. Par exemple, si vous voulez voir les paramètres de la commande Get-EventLog, tapez Get-EventLog dans le champ "Command name" et appuyez sur Entrée.

Vous verrez alors une liste de tous les paramètres disponibles pour cette commande, avec des champs pour entrer les valeurs.

Une fois les champs remplis, vous pouvez cliquer sur le bouton "Run" pour exécuter la commande avec les paramètres spécifiés. Une autre façon de faire, qui est celle recommandée, est de cliquer sur le bouton "Copy" pour copier la commande complète dans le presse-papiers. Vous pouvez ensuite coller cette commande dans la console PowerShell pour l'exécuter. Cela permet de voir exactement comment la commande est construite avec les paramètres que vous avez choisis, et de pouvoir la rééxécuter ou la modifier facilement.


Lire les erreurs
Lorsque vous exécutez une commande PowerShell, il est possible que vous rencontriez des erreurs. PowerShell fournit des messages d'erreur détaillés (en texte rouge - impossible de les manquer!) pour vous aider à comprendre ce qui s'est mal passé.
Par exemple, si vous essayez d'exécuter une commande avec un paramètre incorrect ou manquant, PowerShell affichera un message d'erreur indiquant le problème. Voici un exemple :

Les messages d'erreur contiennent la ligne et le caractère où l'erreur s'est produite, ainsi qu'une description de l'erreur. Dans l'exemple ci-dessus, l'erreur indique que la commande show n'est pas reconnue, au caractère 1 de la ligne 1. Cela signifie que PowerShell ne reconnaît pas la commande show, car elle n'existe pas. Ce que nous voulions faire, c'est exécuter la commande Show-Command, mais nous avons oublié le tiret (-).
Questions de compréhension et d’exploration
- En utilisant
Get-Help, identifier les cmdlets capables de convertir la sortie d'autres cmdlets en HTML et donner un exemple d'utilisation. - Repérer les cmdlets/paramètres permettant d'envoyer la sortie vers un fichier ou vers une imprimante.
- À l'aide de
Get-Help, identifier les cmdlets dont le nom concerne les processus (process en anglais). - Dans la commande
Out-File, trouver la largeur par défaut (en caractères) des fichiers produits et le paramètre permettant de modifier cette largeur. - Dans la commande
Out-File, trouver le paramètre qui empêche d'écraser un fichier existant. - Afficher les processus en cours.
- Afficher les 100 dernières entrées du journal des événements du journal Application.
- Filtrer la commande
Get-Commandpour afficher la liste de toutes les commandes de type "cmdlet". - Créer un alias pour lancer Notepad en tapant
np. - Afficher les règles de Pare-feu Windows.
- Filtrer la liste des règles de pare-feu pour n'afficher que les règles entrantes.