Les applets de commande Powershell qui amélioreront vos compétences d'administrateur Windows

Les applets de commande Powershell qui amélioreront vos compétences d'administrateur Windows

Powershell est un moyen idéal pour un nouveau codeur de démarrer sur Windows. Powershell est un outil de ligne de commande et un langage de script à parts égales. Il vous donne la possibilité d'automatiser votre ordinateur via les mêmes commandes que vous utilisez pour l'administrer . Si vous disposez d'un système Windows moderne, vous disposez déjà de Powershell. La plupart de ses utilisations sont centrées sur Windows, mais vous pouvez également installer Powershell sur une machine Mac ou Linux.





Travailler avec Powershell

Il existe deux façons d'utiliser Powershell. Il y a la fenêtre de ligne de commande de base, qui est utilisée pour exécuter des commandes ou appeler des scripts pré-écrits. Ensuite, il y a l'ISE, qui combine la fenêtre CLI avec un environnement de développement de base. En utilisant cela, vous pouvez écrire et tester vos scripts.





L'ISE dispose d'une liste de commandes consultable et vous pouvez utiliser sa fenêtre de terminal sans ouvrir de fichier. La liste de commandes vous permet de construire votre commande et de l'insérer. Si vous effectuez un développement plus avancé, installez le code Visual Studio de Microsoft. Le code inclut la prise en charge du contrôle de version Git et d'autres langues.





Powershell est unique en ce qu'il est entièrement construit à partir de commandes, Microsoft les appelle Cmdlets. Ces commandes sont les mêmes si vous travaillez via une ligne de commande ou écrivez des scripts complexes. Ainsi, lorsque vous utilisez ces commandes, vous pouvez réfléchir à la manière de les enchaîner pour créer vos premiers scripts.

Les bases : Get-Command, Get-Help, Get-Member

Toutes les commandes Powershell prennent la forme Verb-Noun. Les verbes sont généralement : Obtenir, définir et nouveau .



Obtenir-Commande vous permet de voir toutes les commandes disponibles. Lorsque vous exécutez Get-Command, vous voyez qu'il y a des tonnes de commandes qui commencent par celles-ci.

En creusant plus loin que les noms des applets de commande, vous commencez à voir qu'elles ont toutes une structure similaire. Vous les invoquez par leur nom, comme vous l'avez fait avec Get-Command. L'utilisation de paramètres modifie les informations que vous obtenez. Cependant, si vous n'avez utilisé la commande qu'avec les options par défaut, comment savoir comment utiliser les paramètres avancés ?





En utilisant le Obtenir de l'aide L'applet de commande avec Get-Command affiche plus d'informations sur l'applet de commande. Nous utilisons l'applet de commande avec la syntaxe suivante :

Get-Help Get-Command

Vous voyez alors les informations de base sur les paramètres. Si vous souhaitez voir les détails des paramètres et quelques exemples d'utilisation, ajoutez le paramètre -Full.





Si vous souhaitez uniquement voir les exemples, vous pouvez exécuter :

Get-Help Get-Command -Examples

Cette applet de commande renvoie uniquement les exemples du fichier d'aide. Ces exemples sont très utiles car ils incluent des descriptions. Ce texte d'aide explique ce que l'applet de commande et les paramètres font lorsqu'ils sont exécutés.

Si vous souhaitez afficher le fichier d'aide dans une fenêtre séparée, vous pouvez utiliser -Afficher la fenêtre . Donc si tu lances :

Get-Help Get-Command -ShowWindow

Powershell ouvre une fenêtre avec le fichier d'aide complet. Vous n'avez pas besoin d'utiliser le paramètre Full ici, car la fenêtre extrait l'article complet.

Au fur et à mesure que vous progressez avec Powershell, vous constaterez que vous utilisez plus souvent Get-Member. C'est un moyen simple de voir quels champs sont disponibles à partir des données renvoyées, ainsi que d'autres méthodes que vous pouvez exécuter. Souvent, les applets de commande auront un -Biens paramètre pour vous permettre de les appeler.

Travailler avec des fichiers : Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Maintenant que vous avez une idée du fonctionnement des applets de commande et de la manière d'obtenir de l'aide, apportons des modifications. Vous pouvez obtenir le contenu de n'importe quel dossier en utilisant le Get-ChildItem commander. Par exemple, vous pouvez obtenir les fichiers d'un lecteur entier en utilisant la lettre de lecteur. Entrer:

Get-ChildItem E:

Qui est l'abréviation de :

Get-ChildItem -Path E:

Lorsque vous exécutez cette commande, vous obtenez une liste de fichiers avec son heure de dernière écriture, sa taille sous la propriété Longueur, son nom et son mode. Le Mode correspond aux attributs d'un fichier ou d'un dossier. Les entrées possibles sont :

  • Lecture seulement
  • Caché
  • Système
  • Annuaire
  • Archiver
  • Dispositif
  • Normal
  • Temporaire
  • SparseFile
  • ReparsePoint
  • Comprimé
  • Hors ligne
  • Pas de contenu indexé
  • Crypté

Si vous souhaitez obtenir le contenu de tous les sous-répertoires d'un chemin, vous souhaitez utiliser le -Récurseur paramètre. Alors lancez :

Get-ChildItem -Path E: -Recurse

Vos fichiers sortent ensuite sous forme de listes séparées pour chaque dossier dans le chemin.

Pour limiter les données renvoyées, vous pouvez utiliser différents paramètres : -Déposer , -Caché , et -Lecture seulement . Si vous cherchez à filtrer les noms du fichier, vous pouvez utiliser des caractères génériques dans le paramètre Path. Pour renvoyer tous les fichiers .doc d'un répertoire, saisissez :

Get-ChildItem -Path E:*.doc

Ajouter à nouveau -récidive si vous vouliez tout aussi bien dans les sous-dossiers.

Si vous souhaitez supprimer un fichier, utilisez :

Remove-Item -Path E:OldFile.txt

Pour ignorer la confirmation de chaque fichier, ajoutez le paramètre -Confirmer $faux (Powershell a deux constantes pour les valeurs booléennes : $true et $false). Pour forcer la suppression des fichiers en lecture seule ou masqués, utilisez le -Obliger paramètre.

Le déplacement de fichiers est tout aussi simple. Pour tout déplacer de votre lecteur Flash vers le lecteur local dans un dossier, utilisez :

Move-Item -Path E:* -Destination C:FlashDriveArchive

Vous pouvez également nommer un seul fichier dans -Path pour ne déplacer que ce fichier. Pour copier le fichier plutôt que le déplacer, vous utilisez la même syntaxe avec le Copier l'article applet de commande.

Surveillance et utilisation des processus et des services

Tous L'utilisateur Windows connaît le Gestionnaire des tâches . Cependant, il existe un moyen plus rapide de voir les processus en cours d'exécution à partir de Powershell, Get-Process . Si vous voulez savoir ce que signifient toutes les entrées de ce tableau, dirigez la commande vers Obtenir-Membre . Saisissez l'applet de commande :

Get-Process | Get-Member

Get-member génère une liste de méthodes et de propriétés associées à Get-Process. Les informations en haut sont celles qui vous intéressent. Vous voyez que les différents types de mémoire ont des alias.

Nous pouvons également voir à partir de cette sortie que nous pouvons obtenir le Produit propriété pour obtenir un nom plus convivial pour les processus. Modifions la sortie, afin qu'elle dispose de meilleures informations avec lesquelles travailler :

quelles sont les choses au dos des téléphones des gens
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Il y a plus d'informations sur Select-Object et Sort-Object dans la section suivante.)

Maintenant que vous disposez de l'ID de votre commande Get-Process, vous pouvez l'arrêter à l'aide de l'applet de commande Stop-Process. Donc, si vous constatez qu'un processus Chrome absorbe toutes vos ressources, recherchez l'ID dans la commande précédente. Ensuite, exécutez :

Stop-Process -ID 45960

Remplacer 49560 avec l'ID de votre monopolisateur de ressources.

En utilisant le chemin du fichier, vous pouvez démarrer un processus à l'aide de Powershell. Pour lancer Chrome, exécutez la commande suivante :

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(Vous devez avoir les guillemets autour du chemin du fichier à cause des espaces.) Le -Liste des arguments Le paramètre vous permet de passer des options de ligne de commande à l'application. Dans le cas de Chrome, vous pouvez le forcer à démarrer en mode navigation privée en utilisant le --incognito drapeau. L'applet de commande complète est :

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

Vous pouvez faire la plupart de ces mêmes choses avec les services. Obtenir-Service vous montre une liste de tous les services en cours d'exécution sur votre ordinateur. Idem avec les services de démarrage et d'arrêt, vous pouvez utiliser Démarrer-Service et Aire d'autoroute .

Travailler avec des données : Sort-Object, Select-Object, Where-Object

Lorsque vous travaillez avec les données d'une applet de commande, il se peut que ce ne soit pas toujours l'ordre souhaité. Dans ces cas, vous souhaitez utiliser le Trier-Objet . Vous pouvez appeler Sort-Object sur une variable que vous avez créée, mais elle est principalement utilisée en redirigeant une autre applet de commande. Comme dans l'exemple ci-dessus, nous redirigeons la sortie d'un objet vers un autre et la trions. Créons un tableau de trois nombres aléatoires et dirigeons-le vers Sort-Object.

Tout ce qui est entre parenthèses s'exécute en premier. Créez un tableau simple avec :

$(Get-Random), $(Get-Random), $(Get-Random)

Assurez-vous de noter les virgules séparant les valeurs. Donc, pour voir les nombres aléatoires triés, exécutez :

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

L'applet de commande affiche les nombres du plus petit au plus grand, si vous souhaitez l'inverser, ajoutez -Descendant .

Lorsque vous dirigez des applets de commande vers Get-Member, il y a plus de propriétés que la sortie par défaut. Vous sélectionnez des propriétés spécifiques en utilisant Sélectionner-Objet .

Tout comme Sort-Object, vous utilisez Select-Object via une applet de commande canalisée. Par exemple, pour générer une table des services et leur statut, utilisez :

Get-Service | Select-Object DisplayName, Status

Bien que la sortie de toutes ces données soit agréable, que se passe-t-il si vous ne voulez voir que des données spécifiques ? Get-ChildItem a un certain filtrage intégré, mais pas la plupart des commandes. Dans ces cas, vous utilisez Où-Objet .

En revenant aux services, cette fois, vous n'obtiendrez que des services en cours d'exécution. Saisissez l'applet de commande :

Get-Service | Where-Object Status -eq 'Running'

Cette -eq dans la comparaison est Powershell pour = . Dans Powershell, vous effectuez des comparaisons avec des combinaisons de lettres :

  • éq : égal
  • ne : pas égal
  • lt : moins de
  • gt : supérieur à
  • ge : supérieur ou égal à
  • le : inférieur ou égal à
  • like : utiliser comme dans les comparaisons avec caractères génériques

Aide au formatage : Format-Table et Format-Liste.

Pour ces différentes applets de commande, la plupart des sorties étaient sous forme de tableaux. Cela affiche les données dans des lignes et des colonnes avec des en-têtes. Pour afficher les entrées répertoriées avec leurs propriétés individuellement, dirigez l'applet de commande vers Format-Liste .

Parfois, vous avez une sortie qui devient trop large pour la fenêtre Powershell. Lorsque cela se produit, Powershell le force dans une sortie de liste. Pour vous assurer que vous le conservez sous forme de tableau, dirigez votre sortie vers Format-Table .

De la ligne de commande au script : étapes suivantes

Une fois que vous êtes à l'aise, la création de scripts consiste à saisir les applets de commande dans un fichier texte et à l'enregistrer. Si vous êtes nerveux à l'idée d'essayer des scripts, ne le soyez pas. Microsoft a une énorme quantité de documentation sur chaque applet de commande. C'est au-delà de cette documentation d'aide déjà longue, alors assurez-vous de consulter Technet [Non plus disponible].

Si vous apprenez Powershell, faites-nous savoir dans les commentaires ce que vous êtes le plus impatient de faire. Si vous avez un peu plus d'expérience, nous aimerions entendre parler de sujets plus avancés que vous aimeriez voir abordés.

Partager Partager Tweeter E-mail Supprimez ces fichiers et dossiers Windows pour libérer de l'espace disque

Besoin de libérer de l'espace disque sur votre ordinateur Windows ? Voici les fichiers et dossiers Windows qui peuvent être supprimés en toute sécurité pour libérer de l'espace disque.

Lire la suite
Rubriques connexes
  • les fenêtres
  • La programmation
  • PowerShell
  • Script
A propos de l'auteur Michael McConnell(44 articles publiés)

Michael n'utilisait pas de Mac quand ils étaient condamnés, mais il peut coder en Applescript. Il est diplômé en informatique et en anglais ; il écrit sur Mac, iOS et les jeux vidéo depuis un certain temps maintenant ; et il est un singe informatique diurne depuis plus d'une décennie, spécialisé dans les scripts et la virtualisation.

Plus de Michael McConnell

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner