Tutoriel Powershell pour les débutants : apprendre les scripts Powershell
Qu'est-ce que PowerShell?
Windows PowerShell est un moteur d'automatisation et un langage de script orientés objet. Il est conçu principalement pour les professionnels de l'informatique et les administrateurs système pour contrôler et automatiser l'administration de Windows Système d'exploitation et autres applications. Il fournit de nouveaux concepts convaincants pour étendre les connaissances que vous avez acquises et les scripts que vous avez créés dans le cadre du Windows Invite de commande et Windows Environnements hôtes de script.
Il combine la flexibilité des scripts, la vitesse de la ligne de commande et la puissance d'un outil d'administration basé sur une interface graphique. Il vous permet de résoudre efficacement les problèmes en aidant l'administrateur système à éliminer les futures heures de travail manuel. Nous passerons en revue tous les aspects importants que vous devez connaître pour apprendre PowerShell.
Ceci est un guide complet des bases des scripts Powershell… commençons !
Pourquoi utiliser Powershell ?
Voici quelques raisons importantes d’utiliser Powershell :
- Powershell offre une expérience de ligne de commande bien intégrée pour le système d'exploitation
- PowerShell permet un accès complet à tous les types du framework .NET
- Approuvé par les administrateurs système.
- PowerShell est un moyen simple de manipuler les composants du serveur et du poste de travail
- Il s'adresse aux administrateurs système en créant une syntaxe plus simple
- PowerShell est plus sécurisé que l'exécution VBScript ou d'autres langages de script
Historique de PowerShell
La première version 1.0 de PowerShell a été publiée en 2006. Aujourd'hui, PowerShell en est à la version 7.2. Au fil des années et des versions, les capacités et les environnements d'hébergement de PowerShell ont considérablement augmenté.
Voyons l'historique des versions de Powershell :
- PowerShell version 1 prenait en charge l'administration locale de Windows 2003 serveur
- PowerShell 2.0 a été intégré à Windows 7 et Windows Serveur 2008 R2. Cette version prend en charge l'accès à distance et améliore les capacités de PowerShell telles que les transactions, les tâches en arrière-plan, les événements, le débogage, etc.
- PowerShell 3.0 a été publié en tant que partie interne du Windows cadre de gestion. Il a été installé sur Windows 8 et Windows Server 2012. Vous pouvez ajouter et planifier des tâches, une connectivité de session, un chargement automatique de modules, etc.
- PowerShell 4.0 a été livré avec Windows 8.1 et Windows Serveur 2012 R2. Dans cette version, prise en charge supplémentaire de la configuration de l'état souhaité, débogage amélioré et diagnostics réseau.
- PowerShell 5.0 a été publié en tant que partie interne de Windows cadre de gestion 5. Les fonctionnalités proposées dans cette version sont le débogage à distance, les définitions de classes, les énumérations .NET, etc.
- PowerShell 7.2 est sorti. Il est construit sur .NET 6.0. Cette version propose de nouveaux opérateurs, une vue des erreurs simplifiée et dynamique, des notifications automatiques de nouvelle version, etc.
Ensuite, dans ce didacticiel de script Powershell, nous découvrirons les fonctionnalités de Powershell.
Caractéristiques de Powershell
- Accès à distance PowerShell: PowerShell permet d'appeler des scripts et des applets de commande sur une machine distante.
- Tâches d'arrière-plan: Il vous aide à appeler un script ou un pipeline de manière asynchrone. Vous pouvez exécuter vos tâches soit sur la machine locale, soit sur plusieurs machines télécommandées.
- Transactions : Active l'applet de commande et permet aux développeurs d'effectuer
- Soir: Cette commande vous aide à écouter, transférer et agir sur les événements de gestion et système.
- Transfert de fichiers réseau : Powershell offre une prise en charge native du transfert de fichiers prioritaire, asynchrone et limité entre machines à l’aide de la technologie Background Intelligent Transfer Service (BITS).
Comment lancer PowerShell
Maintenant, dans ce didacticiel de script Powershell, nous allons apprendre à lancer Powershell sur Windows OS.
PowerShell est préinstallé dans toutes les dernières versions de Windows. Nous devons lancer PowerShell pour cela, nous devons suivre les étapes indiquées :
Étape 1) Rechercher PowerShell dans Windows. Sélectionnez et cliquez
Étape 2) La fenêtre Power Shell s’ouvre
Applet de commande PowerShell
Une applet de commande également appelée Command let est une commande légère utilisée dans l'environnement PowerShell de base Windows. PowerShell appelle ces applets de commande dans l’invite de commande. Vous pouvez créer et appeler une commande d'applets de commande à l'aide de l'API PowerShell.
Applet de commande et commande
Les applets de commande sont différentes des commandes dans d'autres environnements de shell de commande des manières suivantes ?
- Les applets de commande sont . NET Framework Objets de classe Ne peut pas être exécuté séparément
- Les applets de commande peuvent construire à partir d'une douzaine de lignes de code seulement
- L'analyse, le formatage de sortie et la présentation des erreurs ne sont pas gérés par les applets de commande
- Le processus des applets de commande fonctionne sur les objets. Ainsi, le flux de texte et les objets ne peuvent pas être transmis en sortie pour le pipeline
- Les applets de commande sont basées sur des enregistrements, car elles traitent un seul objet à la fois.
La plupart des fonctionnalités PowerShell proviennent des applets de commande qui sont toujours au format verbe-nom et non au pluriel. De plus, les applets de commande renvoient des objets et non du texte. Une applet de commande est une série de commandes, composée de plusieurs lignes, stockées dans un fichier texte avec une extension .ps1.
Une applet de commande se compose toujours d’un verbe et d’un nom, séparés par un trait d’union. Certains des verbes utilisés pour apprendre PowerShell sont :
- Obtenez - Avoir quelque chose
- Start — Pour exécuter quelque chose
- de stock - Pour sortir quelque chose
- Arrêter — Pour arrêter quelque chose en cours d'exécution
- Ensemble — Définir quelque chose
- nouveau — Créer quelque chose
commandes PowerShell
Voici une liste de commandes PowerShell importantes :
Obtenir de l'aide: Aide sur les commandes et rubriques PowerShell
Exemple : Afficher les informations d'aide sur la commande Format-Table
Get-Help Format-Table
Obtenir la commande : Obtenir des informations sur tout ce qui peut être invoqué
Exemple de script Powershell : pour générer une liste d'applets de commande et de fonctions installées sur votre machine
Get-Command
Obtenir le service : Recherche toutes les applets de commande contenant le mot « service ».
Exemple : Obtenez tous les services commençant par « vm »
Get-Service "vm*"
Obtenir un membre : Montrer ce qu'on peut faire avec un objet
Exemple : obtenez les membres des processus vm.
Get-Service "vm*" | Get-Member
Autres commandes :
- Get Module Affiche les packages de commandes
- Obtenir du contenu Cette applet de commande peut prendre un fichier, traiter son contenu et en faire quelque chose
- Get- get Recherche toutes les applets de commande commençant par le mot « get-
Exemple : créer un dossier
New-Item -Path 'X:\Guru99' -ItemType Directory
Sortie :
Types de données Powershell
Variables spéciales
Variable spéciale | Description |
---|---|
$Erreur | Un tableau d'objets d'erreur qui affichent les erreurs les plus récentes |
$Hôte | Afficher le nom de l'application d'hébergement actuelle |
$Profil | Stocke le chemin complet d'un profil utilisateur pour le shell par défaut |
$PID | Stocke l'identifiant du processus |
$PSUICulture | Il porte le nom de la culture actuelle de l’interface utilisateur. |
$NULL | Contient une valeur vide ou NULL. |
$Faux | Contient une valeur FAUX |
$Vrai | Contient la VRAIE valeur |
Scripts PowerShell
Les scripts Powershell sont stockés dans un fichier .ps1. Par défaut, vous ne pouvez pas exécuter un script en double-cliquant simplement sur un fichier. Cela protège votre système contre les dommages accidentels. Pour exécuter un script :
Étape 1 : faites un clic droit dessus et cliquez sur « Exécuter avec PowerShell ».
De plus, il existe une politique qui restreint l'exécution des scripts. Vous pouvez voir cette stratégie en exécutant la commande Get-ExecutionPolicy.
Vous obtiendrez l’un des résultats suivants :
- Limité— Aucun script n'est autorisé. Il s'agit du paramètre par défaut, il s'affichera donc pour la première fois lorsque vous exécuterez la commande.
- ToutSigné— Vous pouvez exécuter des scripts signés par un développeur de confiance. À l'aide de ce paramètre, un script vous demandera de confirmer que vous souhaitez l'exécuter avant de l'exécuter.
- Signé à distance— Vous pouvez exécuter vos ou vos scripts signés par un développeur de confiance.
- Libre- Vous pouvez exécuter n'importe quel script que vous souhaitez exécuter
Étapes pour modifier la politique d'exécution
Étape 1) Ouvrez une invite PowerShell élevée. Faites un clic droit sur PowerShell et « Exécuter en tant qu'administrateur »
Étape 2) Entrez les commandes suivantes
- Get-ExecutionPolicy
- Définir la politique d'exécution sans restriction
- Entrez Y dans l'invite
- Get-ExecutionPolicy
Premier script PowerShell
Dans un bloc-notes, écrivez la commande suivante
Write-Host "Hello, Guru99!"
Les scripts PowerShell ont une extension ps1. Enregistrez le fichier sous FirstScript.ps1
Dans Powershell, appelez le script à l'aide de la commande
& "X:\FirstScript.ps1"
Qu’est-ce que PowerShell ISE ?
Les Windows PowerShell Integrated Scripting Environment (ISE) est l'éditeur par défaut pour Windows PowerShell. Dans cet ISE, vous pouvez exécuter des commandes, des tests d'écriture et des scripts de débogage dans un environnement GUI de base de fenêtre. Vous pouvez effectuer une édition multiligne, une coloration syntaxique, une complétion de tabulations, une exécution sélective et bien d'autres choses.
Windows PowerShell ISE vous permet également d'exécuter des commandes dans un volet de console. Cependant, il prend également en charge les volets que vous pouvez utiliser pour afficher simultanément le code source de votre script et d'autres outils que vous pouvez connecter à l'ISE.
Vous pouvez même ouvrir plusieurs fenêtres de script en même temps. Ceci est particulièrement utile lorsque vous déboguez un script qui utilise des fonctions définies dans d'autres scripts ou modules.
Le même script que nous avons créé dans le bloc-notes peut être créé dans ISE
- Collez le code dans l'éditeur
- Enregistrer le script
- Utilisez F5 pour exécuter le script
- Observer la sortie dans la console
Échantillon 2:
Le code suivant donnera le Free Mémoire virtuelle dans ta machine
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Maintenant, dans ce didacticiel Powershell pour débutants, nous allons découvrir les concepts importants de Powershell :
Applets de commande | Les applets de commande sont des commandes de construction écrites dans des langages .net comme VB ou C#. Il permet aux développeurs d'étendre l'ensemble des applets de commande en chargeant et en écrivant des composants logiciels enfichables PowerShell. |
Les fonctions | Les fonctions sont des commandes écrites dans le langage PowerShell. Il peut être développé sans utiliser d'autres IDE comme Visual Studio et les développeurs. |
Scripts | Les scripts sont des fichiers texte sur disque avec une extension .ps1 |
Applications | Les applications sont des programmes Windows existants. |
Et qu'est-ce qui se passerait si | Indique à l’applet de commande de ne pas s’exécuter, mais de vous indiquer ce qui se passerait si l’applet de commande s’exécutait. |
Confirmer | Demandez à l’applet de commande d’afficher une invite avant d’exécuter la commande. |
Verbeux | Donne un niveau de détail plus élevé. |
Déboguer | Demande à l’applet de commande de fournir des informations de débogage. |
ErreurAction | Demande à l’applet de commande d’effectuer une action spécifique lorsqu’une erreur se produit. Les actions autorisées continuent, s'arrêtent, silencieusement, continuent et se renseignent. |
Variable d'erreur | Il spécifie la variable qui contient les informations d'erreur. |
Variable de sortie | Indique à l'applet de commande d'utiliser une variable spécifique pour contenir les informations de sortie |
de stockBuffer | Demande à l’applet de commande de conserver le nombre spécifique d’objets avant d’appeler l’applet de commande suivante dans le pipeline. |
Avantages de l'utilisation du script PowerShell
- Les scripts PowerShell sont vraiment puissants et peuvent faire beaucoup de choses en moins de lignes.
- Les variables sont déclarées sous la forme $
- Les variables peuvent être utilisées pour contenir la sortie de commandes, d'objets et de valeurs.
- Le « type » d’une variable n’a pas besoin d’être spécifié.
PowerShell contre. Invite de commande
PowerShell | Invite de commandes |
---|---|
PowerShell s'intègre profondément à Windows Système d'exploitation. Il offre une interface de ligne de commande interactive et un langage de script. | L'invite de commande est une interface de ligne de commande par défaut fournie par Microsoft. Il s'agit d'une simple application Win32 qui peut interagir et communiquer avec n'importe quel objet Win32 du Windows système opérateur. |
PowerShell utilise ce que l'on appelle des applets de commande. Il peut être invoqué soit dans l'environnement d'exécution, soit dans les scripts d'automatisation. | Aucune fonctionnalité de ce type n’est proposée par invite de commande. |
PowerShell les considère comme des objets. Ainsi, la sortie peut être transmise en entrée à d’autres applets de commande via le pipeline. | Invite de commandes ou même le shell *nix, la sortie générée à partir d'une applet de commande n'est pas seulement un flux de texte mais une collection d'objets. |
Le PowerShell est très avancé en termes de fonctionnalités, de capacités et de fonctionnement interne. | L'invite de commande est très basique. |
Applications de PowerShell
Aujourd'hui, PowerShell est devenu un choix idéal pour les administrateurs informatiques car il facilite les opérations et les efforts de gestion dans les grands réseaux d'entreprise. Par exemple, supposons que vous gérez un grand réseau contenant plus de quatre cents serveurs. Vous souhaitez maintenant mettre en œuvre une nouvelle solution de sécurité. Cette solution de sécurité dépend d'un certain service qui doit s'exécuter sur ces serveurs.
Vous pouvez sûrement vous connecter à chaque serveur et voir si ce service est installé et exécuté ou non. Cependant, cela nécessite certainement beaucoup d’erreurs humaines, car votre personnel doit consacrer beaucoup de temps à ce processus non productif.
Cependant, si vous utilisez PowerShell, vous pouvez effectuer cette tâche en quelques minutes seulement. En effet, toute l'opération est effectuée avec un seul script qui rassemble des informations sur les services exécutés sur les serveurs.
Résumé
- Windows PowerShell est un moteur d'automatisation et un langage de script orientés objet
- Powershell offre une expérience de ligne de commande bien intégrée pour le système d'exploitation
- La première version 1.0 de PowerShell a été publiée en 2006
- PowerShell permet d'invoquer des scripts et des applets de commande sur une machine distante
- PowerShell est préinstallé dans toutes les dernières versions de Windows
- Une applet de commande est une commande légère utilisée dans l'environnement PowerShell de base Windows.
- Get, Start, Out, Stop, Set, New sont des commandes PowerShell importantes
- Boolean, Byte, Chat, Decimal, Decimal, Long sont des types de données importants de PowerShell
- $Erreur. $Host, $Profile, $PID, $PSUICulture, $NULL sont des variables spéciales utilisées dans PowerShell
- Les Windows PowerShell Integrated Scripting Environment (ISE) est l'éditeur par défaut pour PowerShell
- PowerShell s'intègre profondément à Windows OS alors que l'invite de commande est une interface de ligne de commande par défaut fournie par Microsoft
- PowerShell est devenu un choix idéal pour les administrateurs informatiques car il facilite les opérations et les efforts de gestion dans les grands réseaux d'entreprise.