Et si vous pouviez amener la productivité de Linux à Windows? L'une des principales différences entre Windows et Linux 7 Différences clés entre Windows et Linux Avant de changer 7 Différences clés entre Windows et Linux Vous devriez savoir avant de changer Read More est que la plupart des distributions Linux sont livrées avec le puissant shell Bash A Guide rapide pour démarrer avec la ligne de commande Linux Un guide rapide pour démarrer avec la ligne de commande Linux Vous pouvez faire beaucoup de choses étonnantes avec des commandes sous Linux et ce n'est vraiment pas difficile à apprendre. Lire la suite ; par comparaison, l'invite de commande dans Windows est barebones. Et si Windows avait un terminal tout aussi puissant?
Avec PowerShell, ce rêve pourrait devenir réalité.
Clause de non-responsabilité: PowerShell n'est pas "Bash for Windows" et n'est pas destiné à l'être. Oui, les deux sont des environnements de ligne de commande qui peuvent grandement améliorer votre productivité, mais c'est là que s'arrêtent les similitudes. Vous devriez voir PowerShell comme une approche distincte pour créer un environnement de ligne de commande puissant.
Qu'est-ce que PowerShell?
PowerShell peut être considéré comme une mise à niveau massive vers l'invite de commande Windows 15 Commandes CMD Chaque utilisateur Windows doit connaître 15 commandes CMD Tout utilisateur Windows doit savoir L'invite de commande est un outil Windows archaïque, mais puissant. Nous allons vous montrer les commandes les plus utiles que tout utilisateur Windows doit savoir. Lire la suite . Il peut effectuer un grand nombre des mêmes tâches (par exemple, naviguer dans le système, interagir avec des fichiers, modifier des propriétés), mais ouvre l'ensemble de la structure .NET pour une puissance maximale. Pour comprendre les avantages de cela, continuez à lire.
PowerShell présente deux avantages principaux par rapport à l'invite de commande traditionnelle: l' extensibilité et la scriptabilité .
Alors que PowerShell vient avec un ensemble initial de commandes, vous pouvez ajouter vos propres commandes en créant des cmdlets . Les cmdlets sont des classes créées à l'aide du langage C # et lorsqu'elles sont appelées, elles sont exécutées dans l'environnement PowerShell. Parce qu'ils sont écrits en utilisant C #, les cmdlets ont accès à l'ensemble du framework .NET.
Le framework .NET contient une énorme bibliothèque de code fournie par Microsoft. Lorsque vous écrivez votre propre cmdlet, vous avez accès à tout ce code. Tirer des informations sur le processus? Algorithmes cryptographiques? Connectivité à la base de données Communications réseau? Tout cela - et plus - est fourni par le framework .NET, ce qui signifie que la plupart du travail est fait pour vous. Vous avez juste besoin de le reconstituer en appelant les bonnes fonctions.
Microsoft a clairement fait savoir que PowerShell ne va pas disparaître - en fait, le gestionnaire de paquets à venir dans Windows 10 sera basé sur PowerShell - donc tout le monde devrait envisager de l'apprendre plus tôt que tard.
Pourquoi PowerShell est génial
PowerShell a beaucoup de fonctionnalités avancées, dont la plupart ne sont pertinentes que pour les programmeurs Windows et les administrateurs de serveur, mais il existe plusieurs fonctionnalités de base qui sont simples à comprendre, mais extrêmement utiles pour tout le monde.
Simple mais puissant. L'environnement PowerShell est suffisamment facile pour que n'importe qui puisse le relever en quelques heures de lecture. Il y a une courbe d'apprentissage, mais elle est relativement superficielle et vous n'avez pas besoin de tout apprendre pour l'utiliser.
Informations détaillées sur le processus Les alternatives puissantes au gestionnaire de tâches de Windows Tueur de tâches serait un meilleur nom pour le gestionnaire de tâches Windows natif puisque nous ne l'apportons que pour tuer les processus qui ne répondent pas. Les gestionnaires de tâches alternatifs vous permettent de gérer vos processus. Lire la suite, mais PowerShell vous permet d'effectuer quelques astuces en ce qui concerne la gestion des processus. Commencez par les cmdlets Get-Process et Stop-Process natives.
Automatisation et script faciles. Windows de base ne fournit pas un moyen facile d'automatiser les tâches. Avant PowerShell, les fichiers batch ne pouvaient exécuter que des scripts primitifs alors que des solutions tierces étaient nécessaires pour l'automatisation (par exemple, Perl, AutoHotkey). Mais avec PowerShell, vous pouvez planifier des tâches à exécuter à une certaine heure ou un certain intervalle.
Par exemple, avec le module ScheduledTasks, vous pouvez provoquer l'exécution d'un programme ou processus spécifique en fonction d'un déclencheur (par exemple, à un moment donné, lorsqu'un événement système se produit, etc.) et vous pouvez définir le contexte de cette tâche (par ex. limites).
Commande de tuyauterie et logique. Dans Bash (Linux), les commandes peuvent être connectées ensemble de sorte que la sortie d'une commande puisse être utilisée comme entrée pour une autre commande. Par exemple, la cmdlet Get-Process de base génère des informations pour tous les processus en cours d'exécution. Que faire si vous voulez seulement des informations d'un sous-ensemble de processus? Vous pouvez l'acheminer avec la cmdlet Where-Object, qui agit comme un filtre de processus, pour exécuter uniquement Get-Process sur les processus renvoyés par Where-Object.
PowerShell fournit également quelques commandes natives pour la logique conditionnelle (par exemple, If, Else, For, Switch) qui peuvent être utilisées pour contrôler le déroulement de l'exécution de la cmdlet. Par exemple, vous pouvez créer un script PowerShell qui n'exécute que certaines cmdlets lorsque certaines conditions sont remplies (par exemple, les processus de nettoyage lorsque la RAM est proche de sa pleine capacité).
Travaux à distance et d'arrière-plan. Non seulement les cmdlets peuvent être exécutées en tant que processus en arrière-plan (vous pouvez donc exécuter plusieurs tâches simultanément de manière asynchrone), mais de nombreuses cmdlets peuvent également être exécutées sur des machines distantes du réseau tant qu'elles ont été configurées pour le faire. Les cmdlets avec capacités distantes fournissent souvent un paramètre ComputerName que vous pouvez indiquer lors de l'exécution de la cmdlet.
Pour plus d'informations, consultez cette page TechNet sur l'exécution de commandes à distance avec PowerShell.
Télécharger des scripts tiers. Vous n'avez pas besoin d'étendre PowerShell vous-même. Plusieurs référentiels en ligne vous permettent de télécharger et d'utiliser les scripts publics et les cmdlets que d'autres ont créés.
Où apprendre PowerShell
Prêt à vous salir les mains avec PowerShell? Voici quelques ressources qui sont souvent recommandées aux débutants qui veulent apprendre le plus tôt possible:
Didacticiel PowerShell par Don Jones. Cette série de vidéos YouTube se concentre sur PowerShell 2.0 (la version livrée avec Windows 7), qui est un peu obsolète maintenant, mais offre une bonne introduction pour ceux qui n'ont absolument aucune expérience de script. Chaque vidéo ne dure que quelques minutes, mais il y en a 99, donc c'est assez complet.
Microsoft Virtual Academy. MVA offre gratuitement de nombreux cours sur Microsoft, dont deux sur PowerShell 3.0. Il y a le cours Getting Started et le cours Advanced Tools & Scripting. Les deux cours contiennent 9 leçons d'environ 1 heure chacune.
Centre de script TechNet. La section TechNet du site Web de Microsoft comprend de nombreux liens vers des guides et des didacticiels PowerShell. En prime, si vous accédez à la section Référentiel, vous pouvez parcourir et télécharger divers scripts PowerShell.
Hey, scripteur! Blog. Ceci est un blog "tout sur PowerShell" avec beaucoup de bonnes informations qui remonte à presque une décennie entière. De nouveaux articles sont publiés chaque jour et ils sont classés par catégories pour faciliter la navigation. Si vous ne savez pas par où commencer, commencez par parcourir la balise Mise en route.
PowerShell est-il pour vous?
Qu'est-ce que tu penses? Est-ce que PowerShell vous aidera à améliorer votre productivité sur Windows? 5 idées pour faire le meilleur usage productif de votre bureau Faire les choses! 5 idées pour faire la meilleure utilisation productive de votre bureau Les gens aiment leurs ordinateurs de bureau! Que vous soyez sur un ordinateur Mac, Windows ou Linux, le bureau est un espace ouvert qui n'est pas prédéfini par une structure rigide. Contrairement aux interfaces des appareils mobiles ou Windows 8's ... En savoir plus? Ou est-ce trop de surpuissance pour vos besoins? Partagez vos pensées avec nous dans les commentaires!