Utilisation de PowerShell pour les utilisateurs à domicile – Guide du débutant

Qui ne souhaite pas pouvoir devenir un sorcier et prononcer quelques mots pour que des choses magiques se produisent? Eh bien, nous ne pouvons pas vous montrer comment devenir un sorcier, mais nous pouvons vous montrer comment faire un peu de magie informatique.

Si vous avez un ordinateur Windows avec Windows 7, vous avez PowerShell. De plus, si vous avez un ordinateur avec Windows 7, veuillez le mettre à jour pour des raisons de sécurité.

Utilisation de PowerShell pour les utilisateurs a domicile Guide

Mais cet article ne s’adresse pas uniquement aux utilisateurs de Windows. La dernière version de PowerShell est gratuite et peut être installée et utilisée sur les ordinateurs Mac et Linux.

C’est important car ce que vous apprenez sur PowerShell peut maintenant être utilisé sur presque tous les ordinateurs. Qui sait? Vous pourriez amener cette compétence au niveau supérieur et vous lancer dans une carrière en technologie de l’information.

Qu’est-ce que PowerShell?

La réponse high-tech de Microsoft est qu’il s’agit d’un “… shell de ligne de commande spécialement conçu pour les administrateurs système.” Cela semble intimidant. Mais ce n’est pas. Prenez-vous soin de votre ordinateur? Oui, alors vous êtes l’administrateur système de votre maison.

Dites-vous à votre ordinateur quoi faire des clics et des frappes au clavier? Oui, pensez donc au shell de ligne de commande comme à une autre fenêtre dans laquelle vous saisissez des éléments pour indiquer à votre ordinateur ce qu’il doit faire. Tu peux le faire.

PowerShell est comme un langage de programmation, mais pas aussi cryptique que la plupart. Il se lit vraiment beaucoup comme l’anglais ordinaire, ce que Microsoft s’est efforcé de faire pour qu’il puisse être repris par des non-programmeurs.

C’est une façon d’écrire quelques lignes de commandes, appelées script, pour que le système d’exploitation Windows fasse quelque chose que vous voulez qu’il fasse. Ensuite, vous pouvez enregistrer ces lignes dans un fichier et l’exécuter en un clic ou planifier son exécution périodique.

Que pouvez-vous faire avec PowerShell?

Le principal objectif de PowerShell est de pouvoir automatiser les tâches, afin que vous n’ayez pas à perdre votre temps à faire des choses banales à plusieurs reprises. Pour un administrateur système professionnel, cela pourrait être quelque chose comme créer de nouveaux utilisateurs, générer des mots de passe pour eux et envoyer un e-mail avec les détails à leur nouveau superviseur.

Fait manuellement, avec des clics et une saisie, ce processus peut prendre de 5 minutes à une heure ou plus. Avec les bons scripts, l’administrateur système peut même ne pas avoir à faire quoi que ce soit.

Mais vous voulez savoir ce que vous pouvez faire avec PowerShell à la maison. À peu près tout ce que vous n’aimez pas faire encore et encore. Utilisez-le pour libérer de l’espace sur votre disque dur en supprimant les fichiers temporaires et journaux dont vous n’avez pas besoin.

Mettez un couvre-feu sur l’ordinateur de votre enfant. Renommez ou organisez un tas de fichiers. C’est la beauté de PowerShell. Presque tout ce que vous pouvez faire sur votre ordinateur, vous pouvez créer un script PowerShell pour automatiser et exécuter en un clic ou selon une planification.

Comment utiliser PowerShell?

La façon la plus simple de travailler avec PowerShell est d’utiliser Environnement de script intégré PowerShell (ISE). Vous pouvez le trouver en cliquant sur Démarrer et en tapant PowerShell ise dans la barre de recherche de Windows 10. Vous devriez le voir comme indiqué ci-dessous.

1608343441 855 Utilisation de PowerShell pour les utilisateurs a domicile Guide

Pour la première fois que nous l’utilisons, nous allons l’exécuter en tant qu’administrateur. Pour ce faire, vous devez d’abord disposer des droits d’administrateur sur votre ordinateur. Dans ton Le menu Démarrer, faites un clic droit sur PowerShell ISE, puis cliquez sur Exécuter en tant qu’administrateur.

1608343441 636 Utilisation de PowerShell pour les utilisateurs a domicile Guide

Vous pouvez obtenir un Contrôle d’accès utilisateur (UAC) pop-up d’avertissement vous demandant si vous êtes sûr de vouloir le faire. Cliquez sur Oui.

1608343441 651 Utilisation de PowerShell pour les utilisateurs a domicile Guide

Vous regardez maintenant l’IDE PowerShell. Le volet supérieur de la fenêtre (1) est le volet de script. C’est ici que vous écrirez votre script. Le volet inférieur de la fenêtre (2) est la zone de la console. Lorsque vous testez votre script, vous verrez la sortie dans ce volet.

C’est également là que vous verrez des messages d’erreur et autres qui vous aideront à corriger et à améliorer vos scripts. Le volet sur le côté droit de la fenêtre (3) est le module complémentaire de commande. Considérez-le comme un dictionnaire de toutes les commandes PowerShell disponibles.

1608343441 541 Utilisation de PowerShell pour les utilisateurs a domicile Guide

PowerShell est configuré pour n’exécuter aucun script autre que ceux qui font déjà partie de Windows. Vous devrez le modifier pour pouvoir exécuter vos propres scripts.

Dans la fenêtre de script, copiez et collez ce qui suit:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

le Set-ExecutionPolicy une partie de celui-ci est appelée une applet de commande (prononcée commandlet). Les applets de commande sont des éléments puissants. Considérez-les comme de courtes commandes que vous pouvez donner à Windows, et Windows fera un tas de choses plus compliquées pour satisfaire votre commande.

Une analogie serait de dire à votre enfant de nettoyer sa chambre. Bref et au point. Si votre enfant est familiarisé avec le nettoyage des chambres, il ira faire son lit, mettra sa lessive dans le panier, mettra ses jouets et ses livres sur des étagères, et peut-être même aspirera le sol. Ils comprennent que l’applet de commande Clean-YourRoom signifiait tout cela.

En haut de la fenêtre, vous verrez une pointe de flèche verte. Cliquez dessus pour exécuter la commande.

1608343442 100 Utilisation de PowerShell pour les utilisateurs a domicile Guide

le -Politique d’exécution une partie est révélatrice Set-ExecutionPolicy quelle politique définir. C’est un paramètre. Il dit: «Je veux que vous travailliez selon ces lignes directrices et que vous fassiez précisément cela. Il lui dit d’utiliser la politique spécifique de RemoteSigned.

le RemoteSigned La stratégie stipule que PowerShell ne peut exécuter ou exécuter aucun script téléchargé à partir d’Internet à moins qu’il n’ait été signé par un éditeur de confiance.

D’une manière détournée, il indique à PowerShell qu’il est correct d’exécuter n’importe quel script créé localement, car ceux-ci n’ont pas besoin d’être signés par un éditeur de confiance distant. Désormais, votre script PowerShell pourra exécuter n’importe quel script que vous écrivez sur votre ordinateur.

Regardons un script pour supprimer les fichiers temporaires. Ce n’est pas aussi puissant ou approfondi que CCleaner, mais CCleaner a son propre ensemble de problèmes.

Utilisez PowerShell pour créer de l’espace sur votre disque dur

Nous allons décomposer ce script, ligne par ligne, afin que vous puissiez voir comment cela fonctionne. À la fin, le script s’affichera complètement afin que vous puissiez le copier et le coller si vous le souhaitez.

$TempFileLocation = "C:UsersusernameAppdataLocalTemp*"

Tout ce qui est précédé d’un signe dollar est un nom de variable. Pensez-y comme un portefeuille dans lequel mettre des objets de valeur. Wallet nous rappelle le signe dollar, les objets de valeur semblent variables, nous nous en souviendrons donc aussi. Nous créons un portefeuille, ou une variable, nommé $ TempFileLocation. Le signe égal indique à PowerShell ce qu’il faut mettre dans cette variable.

Dans ce cas, nous mettons à l’emplacement de l’emplacement des fichiers temporaires de Windows – C: Users nom d’utilisateur AppData Local Temp *. Nous faisons cela pour deux raisons; c’est un emplacement dans lequel il est toujours sûr de supprimer des fichiers, et nous allons l’utiliser pour indiquer à PowerShell où il doit aller pour supprimer des fichiers.

Là où il est dit nom d’utilisateur à cet endroit, remplacez-le par votre nom d’utilisateur. C’est le nom d’utilisateur que vous utilisez pour vous connecter à votre ordinateur. L’astérisque

à la fin, il y a un joker. Ce qu’il représente, c’est tout ce qui se trouve dans le dossier Temp, car tout ce qui se trouve dans le dossier Temp est temporaire et nous voulons le supprimer.

$TempFile = Get-ChildItem $TempFileLocation -Recurse

Les guillemets doubles autour de l’emplacement sont également importants. Cela indique à PowerShell que ce qu’il contient est une chaîne. Considérez la chaîne comme une chaîne de lettres et de caractères. S’il s’agissait de nombres ordinaires, nous n’utiliserions pas les guillemets. Nous créons une autre variable. Cette fois, nous allons utiliser une commande pour trouver quelque chose à mettre dans le $ TempFile

Get-ChildItem 

variable. Une autre chose que vous remarquerez à propos des applets de commande comme Get-ChildItem

est qu’il est totalement lisible. Voyez comment le premier mot est un verbe? Les applets de commande commencent toutes par des mots d’action, vous savez donc immédiatement ce qu’elles font. ChildItem est composé de deux noms.

La deuxième partie de l’applet de commande va toujours nous dire à quoi PowerShell appliquera l’action. ChildItem signifie tous les enfants d’un emplacement parent. C’est comme dire obtenir tous les fichiers qui se trouvent dans un dossier, les fichiers étant les enfants et le dossier étant le parent. De quoi l’applet de commande obtient-elle les éléments enfants? Tout dans la variable$ TempFileLocation . PowerShell va accéder à l’emplacement que nous avons placé dans $ TempFileLocation plus tôt et obtenir tous les éléments enfants qui s’y trouvent. Ensuite, il les placera dans la variable$ TempFile

. Alors, c’est quoi le -Infirmière partie? C’est révélateur Get-ChildItem

$TempFileCount = ($TempFile).count

pour tout parcourir à cet endroit. N’allez pas simplement chercher les fichiers immédiatement dans le dossier parent. S’il y a des dossiers dans ce dossier, récupérez également tous leurs enfants, ainsi que leurs enfants, etc. Nous allons tous les avoir. Oui, nous créons une troisième variable appelée$ TempFileCount, et nous allons mettre un nombre dans cette variable. Où est le numéro? Bien, ( $ TempFile) .count

va nous obtenir ce nombre. Vous avez probablement compris que la partie .count va faire le comptage de tous les fichiers que nous venons de stocker dans $ TempFile.

if($TempFileCount -eq 0)

Pourquoi avons-nous fait cela? Principalement parce que c’est bien de savoir combien de fichiers inutiles nous nettoyons avec le reste du script afin que nous puissions dire à quel point il a été efficace. Nous mettons maintenant en place une instruction conditionnelle. Vous pouvez voir qu’il demande «si». Si quoi? Si l’élément entre parenthèses est vrai ou faux. Les parenthèses sont importantes, sinon le If ne sait pas quoi comparer. Ici, il demande si le numéro dans lequel nous avons stocké $ TempFileCount

est égal à zéro. le -eq

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

est le raccourci pour égaux. C’est un type d’opérateur de comparaison. C’est comme dire à vos enfants: «Si votre chambre est propre, super, nous allons faire quelque chose…» Cette déclaration dit que si le nombre stocké dans $ TempFileCount est égal à zéro, faites la chose suivante. C’est la chose qui arrivera si $ TempFileCount

est zéro. Les accolades sont importantes. Ils indiquent à PowerShell de ne faire que ce qui se trouve à l’intérieur si $ TempFileCount est égal à zéro.Il écrira sur l’hôte, ou sur l’écran, «Il n’y a pas de fichiers dans le dossier C: Users username Appdata Local Temp *». Le paramètre à la fin, – Couleur de premier plan

Else

indique à PowerShell de rendre le texte vert. Cela facilite simplement la distinction d’un message d’erreur qui est normalement rouge. Vous savez ce que cela veut dire. C’est la partie «Votre chambre ferait mieux d’être propre ou bien…» pour vérifier si votre enfant a nettoyé sa chambre. C’est ce qui arrivera si $ TempFileCount

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

n’est pas nul. Cela dit aller à l’emplacement actuel stocké dans$ TempFile . La ligne verticale après cela s’appelle un tuyau. Il fonctionne un peu comme un tuyau réel, car il dit à PowerShell de canaliser le contenu de $ TempFile dans l’applet de commande, comme si de l’eau était acheminée dans une machine à laver. Puis l’applet de commande Retirer l’objet

fait ce qu’il dit; il supprime tout ce qui se trouve à cet endroit. le -Et qu’est-ce qui se passerait si

paramètre est très important à ce stade. Il dit à PowerShell d’exécuter la commande, mais essayez-le uniquement, ne supprimez rien. Montrez-nous simplement ce qui se passerait si nous faisions vraiment cela.

Utilisation de PowerShell pour les utilisateurs a domicile Guide

Cela vous permet de tester les commandes sans rien changer sur votre ordinateur. Laissez le -WhatIf dedans jusqu’à ce que vous soyez convaincu que le script va faire ce que vous voulez qu’il fasse et rien d’autre. Ensuite, supprimez simplement cela et le script fera son travail. Le paramètre -Confirmer: $ false empêche le script de vous demander si vous voulez vraiment supprimer le fichier. Vous savez quoi -Infirmière Est-ce que. -Obliger signifie supprimer cette chose quoi qu’il arrive. -Action d’avertissement est réglé surSilencieusementContinuer

. Cela empêche le script de vous avertir de ce que vous supprimez. -ErrorAction est réglé sur SilencieusementContinuer

de sorte que s’il y a une sorte d’erreur dans le processus, il continue juste à avancer.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

Nous sommes maintenant à la dernière ligne. Juste comme Hôte d’écriture

fait la première fois, il va afficher la phrase suivante, donc nous savons ce qui s’est passé. Il nous indiquera combien de fichiers ont été supprimés du dossier qu’il vient de traiter et le fera en vert pour le rendre facile à repérer.

$TempFileLocation = "C:UsersguymcdAppdataLocalTemp*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

Regardons le script dans son ensemble: Vous pouvez copier et coller ceci dans votre PowerShell ISE et l’enregistrer sous quelque chose commedelete-TemporaryFiles.ps1

. Vous pouvez également vous en tenir à la convention de dénomination des applets de commande maintenant que vous les comprenez.

Si le code ne fonctionne pas pour vous pour une raison quelconque, vous pouvez également télécharger le script PowerShell que nous avons créé et simplement l’exécuter. Décompressez-le d’abord pour afficher le fichier de script. Chaque fois que vous souhaitez exécuter ce script, faites un clic droit dessus et choisissezExécuter avec PowerShell

1608343442 741 Utilisation de PowerShell pour les utilisateurs a domicile Guide

. Une console PowerShell apparaîtra pendant une seconde ou deux, pendant que votre script fait son travail, puis disparaîtra s’il n’y a pas d’erreurs.

Où puis-je en savoir plus sur PowerShell?

Cela semble beaucoup! Pour votre premier script PowerShell, c’est un peu juste. Si vous êtes arrivé jusqu’ici, applaudissez-vous. Vous avez beaucoup appris aujourd’hui, mais vous voulez maintenant en savoir plus. C’est génial!Il existe de nombreuses ressources sur Internet pour en savoir plus sur PowerShell. Un bon point de départ est notre article, “Générer une liste de programmes de démarrage via la ligne de commande ou PowerShell

». Ensuite, consultez ces autres ressources: