Utilisation de PowerShell pour les utilisateurs à domicile - un guide du débutant
- 4099
- 1264
- Romain Martinez
Qui ne souhaite pas pouvoir être un sorcier et prononcer quelques mots pour que des choses magiques se produisent? Eh bien, nous ne pouvons pas vous montrer comment être 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 la sécurité.
Table des matièresPour la première fois que nous l'utilisons, nous allons l'exécuter en tant qu'administrateur. Pour ce faire, vous devez d'abord avoir des droits d'administrateur sur votre ordinateur. Dans ton Le menu Démarrer, cliquez avec le bouton droit sur PowerShell Ise, puis cliquez sur Exécuter en tant qu'administrateur.
Vous pouvez obtenir un Contrôle d'accès des utilisateurs (Uac) avertissement pop-up demandant si vous êtes sûr de vouloir faire ça. Cliquez sur Oui.
Maintenant, vous regardez le PowerShell IDE. Le volet supérieur de la fenêtre (1) est le volet de script. C'est là 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 tel vous aidera à corriger et à améliorer vos scripts. Le volet à droite de la fenêtre (3) est le module complémentaire de commande. Considérez-le comme un dictionnaire de toutes les commandes PowerShell à votre disposition.
PowerShell est défini pour ne pas exécuter de script autre que ceux déjà une partie de Windows. Vous devrez le changer pour que vous puissiez exécuter vos propres scripts.
Dans la fenêtre de script, copiez et collez ce qui suit:
Set-exécutionpolicy -executionPolicy RemoSigned
Le Set-exécutionpolicy Une partie de celle-ci s'appelle une cmdlet (Commandlet prononcé). Les applets de apparence sont des choses puissantes. Considérez-les comme de courtes commandes que vous pouvez donner des fenêtres, et Windows ira faire un tas de choses plus compliquées pour satisfaire votre commande.
Une analogie serait de dire à votre enfant de nettoyer sa chambre. Court et au point. Si votre enfant connaît bien le nettoyage des chambres, alors il ira faire son lit, mettre leur lessive dans le panier, mettre de côté leurs jouets et livres, et peut-être même l'aspirateur sur le sol. Ils comprennent que la salle propre à cmdlet signifiait tout ce.
En haut de la fenêtre, vous verrez une pointe de flèche verte. Cliquez dessus pour exécuter la commande.
Le -Exécution Police une partie est révélatrice Set-exécutionpolicy Quelle politique définir. C'est un paramètre. Cela dit: «Je veux que vous travailliez dans ces directives et que vous fassiez spécifiquement ceci. Il lui dit d'utiliser la politique spécifique de la télécommande.
Le Éloigné La politique stipule que PowerShell ne peut pas exécuter ou exécuter tout script qui a été téléchargé à partir d'Internet à moins qu'il ne soit signé par un éditeur de confiance.
D'une manière détournée, il dit à PowerShell qu'il est bien d'exécuter un script créé localement, car ceux-ci n'ont pas besoin d'être signés par un éditeur de confiance à distance. Maintenant, votre script PowerShell pourra exécuter tout script que vous écrivez sur votre ordinateur.
Regardons un script pour supprimer les fichiers temporaires. Il n'est pas aussi puissant ou approfondi que Ccleaner, mais Ccleaner est livré avec son propre ensemble de problèmes.
Utilisez PowerShell pour créer de l'espace sur votre disque dur
Nous décomposons ce script, ligne par ligne, afin que vous puissons voir comment cela fonctionne. À la fin, le script sera complètement affiché afin que vous puissiez le copier et le coller si vous le souhaitez.
$ TempFileLocation = "C: \ Users \ Username \ AppData \ Local \ Temp \ *"
Tout ce qui avec un signe en dollars devant lui est un nom variable. Pensez-y comme un portefeuille pour mettre des trucs précieux. Wallet nous rappelle le signe du dollar, les objets de valeur semblent comme variables, donc nous nous souviendrons aussi. Nous créons un portefeuille, ou variable, nommé $ Tempfilelocation. Le signe égal indique à PowerShell quoi mettre dans cette variable.
Dans ce cas, nous mettons l'emplacement de l'emplacement des fichiers temporaires de Windows - C: \ Users \ Username \ AppData \ local \ temp \ *. Nous faisons cela pour deux raisons; C'est un emplacement qui est toujours sûr de supprimer des fichiers, et nous allons l'utiliser pour dire à PowerShell où il doit aller pour supprimer des fichiers.
Où il indique le nom d'utilisateur à cet endroit, échangez-le contre votre nom d'utilisateur. C'est le nom d'utilisateur que vous utilisez pour vous connecter à votre ordinateur. L'astérisque (*) à la fin est un joker. Ce qu'il représente est tout dans la température du dossier, car tout dans le dossier temporaire est temporaire et nous voulons le supprimer.
Les doubles-quotes autour de l'emplacement sont également importants. Qui dit à PowerShell que ce qu'il y a là est une chaîne. Considérez la corde comme une chaîne de lettres et de caractères. S'il s'agissait de numéros ordinaires, nous n'utiliserions pas les citations.
$ Tempfile = get-childem $ tempfilelocation -recurse
Nous faisons une autre variable. Cette fois, nous allons utiliser une commande pour trouver quelque chose à mettre $ Tempfile variable.
Get-Childitem
Une autre chose que vous remarquerez sur les applets de commande comme Get-Childitem est qu'il est totalement lisible. Voyez comment le premier mot est un verbe? Les cmdlets commencent tous par des mots d'action, donc vous savez immédiatement ce qu'il fait. ChildItem est deux noms.
La deuxième partie de la filet. ChildItem signifie tous les enfants d'un emplacement parent. C'est comme dire d'obtenir tous les fichiers qui sont dans un dossier, les fichiers étant les enfants et le dossier étant le parent.
Quel est la commande de la commande? Tout dans la variable $ Tempfilelocation. PowerShell va aller à l'endroit où nous avons mis en $ TempFileLocation plus tôt et obtenir tous les articles enfants qui sont là. Ensuite, cela les mettra dans la variable $ Tempfile.
Alors, qu'est-ce qui est avec le -Reprocher partie? C'est dire Get-Childitem pour passer par tout dans cet endroit. Ne vous contentez pas d'obtenir les fichiers immédiatement dans le dossier parent. S'il y a des dossiers dans ce dossier, obtenez tous leurs enfants aussi, et leurs enfants et ainsi de suite. Nous allons tous les obtenir.
$ TempFileCount = ($ tempfile).compter
Oui, nous créons une troisième variable appelée $ Tempfilecount, Et nous allons mettre un numéro dans cette variable. Où est le numéro? Bien, ($ Tempfile).compter va nous procurer ce numéro. Vous avez probablement compris que le .Le nombre de pièces va faire le comptage de tous les fichiers que nous venons de stocker dans $ tempfile.
Pourquoi avons-nous fait ça? Surtout parce qu'il est agréable de savoir combien de fichiers inutiles nous nettoyons avec le reste du script afin que nous puissions dire à quel point il était efficace.
if ($ tempFileCount -eq 0)
Maintenant, nous mettons en place une déclaration conditionnelle. Vous pouvez voir que cela demande «si». Si quoi? Si la chose entre crochets est vraie ou fausse. Les supports sont importants, sinon les IF ne savent pas quoi comparer. Ici, il demande si le numéro dans lequel nous avons stocké $ Tempfilecount est égal à zéro.
Le -égaliseur est le sténographie pour égaux. C'est un type d'opérateur de comparaison. C'est comme dire à vos enfants: «Si votre chambre est propre, géniale, nous allons faire quelque chose…» Cette déclaration dit que si le numéro qui a été stocké dans $ TempFileCount est - égal à zéro faire la chose suivante.
Write-Host "Il n'y a pas de fichiers dans le dossier $ tempFileLocation" -ForegroundColor Green
C'est la chose qui se produira si $ Tempfilecount est zéro. Les supports bouclés sont importants. Ils disent à PowerShell de ne faire que ce qui est à l'intérieur si $ tempfilecount est égal à zéro.
Il écrira à l'hôte ou à 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 dit à PowerShell de rendre le texte vert. Cela facilite la distinction d'un message d'erreur qui est normalement rouge.
Autre
Tu sais ce que signifie d'autre. Ceci est la partie «votre chambre mieux soit propre ou bien…» Partie de la vérification si votre enfant a nettoyé sa chambre. C'est ce qui va se passer si $ Tempfilecount n'est pas zéro.
$ Tempfile | Retire-item -Whatif -Confirm: $ false -recurse -force -warningaction silelyContinue -Erroraction silelycontinue
Cela dit aller à l'emplacement actuel stocké dans $ Tempfile. La ligne verticale après s'appelle un tuyau. Il fonctionne un peu comme un tuyau réel car il dit à PowerShell pour canaliser le contenu de $ Tempfile dans la cmdlet, comme s'il s'agissait d'eau dans une machine à laver. Puis la cmdlet Retirer l'objet fait ce qu'il dit; il supprime tout ce qui est à cet endroit.
Le -Et qu'est-ce qui se passerait si Le paramètre est très important à ce stade. Il dit à PowerShell d'exécuter la commande, mais essayez seulement, ne supprimez rien. Montrez-nous ce qui se passerait si nous faisions vraiment ça.
Cela vous permet de tester les commandes sans rien changer sur votre ordinateur. Laissez le-quoi là-bas jusqu'à ce que vous soyez à l'aise que le script fera 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 demander si vous souhaitez vraiment supprimer le fichier. Vous savez quoi -Reprocher fait. -Force signifie supprimer cette chose quoi qu'il arrive. -WarningAction est réglé sur Continue silencieusement.
Cela empêche le script de vous donner des avertissements sur ce que vous supprimez. -Erreur est réglé sur Continue silencieusement de sorte que s'il y a une sorte d'erreur dans le processus, il continue de se promener.
Maintenant nous sommes à la dernière ligne.
Write-Host "Effacer les fichiers TempFileCount de TempFileCount dans le dossier $ tempFileLocation" -ForegroundColor Green
Juste comme Hôte d'écriture a fait la première fois, cela va produire la phrase suivante, donc nous savons ce qui s'est passé. Il nous dira combien de fichiers ont été supprimés du dossier qu'il vient de traiter et de le faire en vert pour le rendre facile à repérer.
Regardons complètement le script:
$ TempFileLocation = "C: \ Users \ guymcd \ appdata \ local \ temp \ *"
$ Tempfile = get-childem $ tempfilelocation -recurse
$ TempFileCount = ($ tempfile).compter
if ($ tempFileCount -eq "0")
Write-Host "Il n'y a pas de fichiers dans le dossier $ tempfileLocation" - Green ForegroundColor
Autre
$ Tempfile | Retire-item -confirm: $ false -recurse -force -warningaction silelycontinue -Erraction
Écriture-host "Effacer les fichiers TempFileCount de TempFileCount dans le dossier $ tempfileLocation" -ForegroundColor Green
Vous pouvez copier et coller cela dans votre PowerShell ISE et l'enregistrer comme quelque chose comme déleter-temporaryfiles.PS1. Vous pouvez aussi bien vous en tenir à la convention de dénomination des applets de vente 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, cliquez avec le bouton droit dessus et choisissez Courir avec PowerShell. Une console PowerShell apparaîtra pour une seconde ou deux, tandis que votre script fait son truc, puis disparaîtra s'il n'y a pas d'erreurs.
Où puis-je apprendre plus de PowerShell?
Cela semble beaucoup! Pour votre premier script PowerShell, c'est un peu. Si vous êtes arrivé jusqu'ici, applaudissez-vous. Vous avez beaucoup appris aujourd'hui, mais maintenant vous voulez en savoir plus. C'est super!
Il y a beaucoup de ressources sur Internet pour en savoir plus sur PowerShell. Un bon point de départ est notre article, «Générer une liste des programmes de démarrage via la ligne de commande ou PowerShell». Consultez ensuite ces autres ressources:
- Début avec Microsoft PowerShell - Microsoft Virtual Academy
- Tutoriel PowerShell - TutorialSpoint.com
- « Divisez un document en colonnes dans Google Docs
- 5 raisons pour lesquelles vos résultats de test de vitesse WiFi peuvent être erronés »