Tutoriel Powershell pour les débutants : apprendre les scripts Powershell

Commençons à apprendre Powershell Lessles. Tout d’abord, nous apprendrons :

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

Lancez PowerShell

Étape 2) La fenêtre Power Shell s’ouvre

Lancez PowerShell

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

Applet de commande et commande

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

Applet de commande et commande

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*"

Applet de commande et commande

Obtenir un membre : Montrer ce qu'on peut faire avec un objet

Exemple : obtenez les membres des processus vm.

Get-Service "vm*" | Get-Member

Applet de commande et commande

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 :

Applet de commande et commande

Types de données Powershell

Types de données Powershell
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 ».

Scripts 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 »

Scripts PowerShell

Étape 2) Entrez les commandes suivantes

  1. Get-ExecutionPolicy
  2. Définir la politique d'exécution sans restriction
  3. Entrez Y dans l'invite
  4. Get-ExecutionPolicy

Scripts PowerShell

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

Premier script PowerShell

Dans Powershell, appelez le script à l'aide de la commande

& "X:\FirstScript.ps1"

Premier script PowerShell

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.

ISE PowerShell

ISE PowerShell

Le même script que nous avons créé dans le bloc-notes peut être créé dans ISE

  1. Collez le code dans l'éditeur
  2. Enregistrer le script
  3. Utilisez F5 pour exécuter le script
  4. Observer la sortie dans la console

ISE PowerShell

É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 

ISE PowerShell

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.