Latest / M365.FM – Podcast Microsoft 365, Copilot & IA en français / PowerShell vs CMD : pourquoi les objets changent tout dans l’automatisation Windows (Doublage IA)
Transcript
- 0:00Speaker 2: Bienvenue dans un nouvel épisode des Pépites de connaissances Microsoft
- 0:02Speaker 2: sur M365FM. Je suis votre hôte Milko Peters. Si je
- 0:05Speaker 2: vous disais qu'un outil déjà présent sur votre ordinateur peut
- 0:08Speaker 2: automatiser presque tout, pensez à votre journée de travail habituelle.
- 0:11Speaker 2: Vous vous connectez, ouvrez quelques applications, cliquez sur les mêmes
- 0:13Speaker 2: menus qu'hier, exécutez les mêmes rapports, vérifiez les mêmes services.
- 0:17Speaker 2: Peut-être passez-vous une heure à faire quelque chose qui devrait
- 0:19Speaker 2: prendre 5 minutes. Cet outil dont je vous parle, c'est PowerShell.
- 0:23Speaker 2: A la fin de cet épisode, vous comprendrez ce qu'est
- 0:25Speaker 2: réellement PowerShell, comment fonctionnent ses commandes et pourquoi c'est le
- 0:28Speaker 2: super pouvoir caché de l'écosystème Microsoft. Nous commencerons par le
- 0:32Speaker 2: concept de base, aborderons les éléments constitutifs et à la
- 0:34Speaker 2: fin vous disposerez d'une automatisation réelle utilisable dès aujourd'hui. La
- 0:37Speaker 2: vue d'ensemble, ce qu'est réellement PowerShell. Alors qu'est-ce que PowerShell exactement?
- 0:41Speaker 2: La plupart des gens entendent le nom et pensent qu'il
- 0:42Speaker 2: s'agit juste d'une navette de commandes sophistiquées. PowerShell est une
- 0:45Speaker 2: plateforme d'automatisation complète. Considérez-le comme un shell en ligne de commande,
- 0:48Speaker 2: un langage de script et un outil de gestion à distance,
- 0:50Speaker 2: tout en un, tout en un. En tant que Shell,
- 0:52Speaker 2: vous tapez des commandes et obtenez des résultats. Mais c'est
- 0:54Speaker 2: aussi un langage de script qui vous permet d'écrire des
- 0:56Speaker 2: programmes autonomes et un outil de gestion à distance contrôlant
- 0:58Speaker 2: des dizaines ou des centaines de machines depuis une seule fenêtre.
- 1:02Speaker 2: Il y a 20 ans, automatiser quelque chose sous Windows
- 1:04Speaker 2: impliquait d'utiliser une multitude d'outils différents. Vous utilisez des fichiers
- 1:07Speaker 2: batch pour les tâches simples, des scripts VB pour les
- 1:09Speaker 2: plus complexes et des consoles d'administration séparées pour Exchange, Active
- 1:12Speaker 2: Directory et les serveurs de fichiers. Aucun d'entre eux ne
- 1:14Speaker 2: communiquait entre eux. Vous deviez copier des données d'un outil,
- 1:17Speaker 2: les coller dans un autre en espérant ne rien perdre.
- 1:19Speaker 2: PowerShell a tout changé. C'est un outil unique qui communique
- 1:22Speaker 2: avec tout. Windows lui-même, Azure, Microsoft 365, Exchange, Teams, SharePoint,
- 1:26Speaker 2: Active Directory et même les machines Linux désormais. Vous utilisez
- 1:29Speaker 2: le même langage, les mêmes modèles, les mêmes commandes, quelle
- 1:31Speaker 2: que soit la cible. Il est multiplateforme. PowerShell 7 fonctionne
- 1:35Speaker 2: sur Windows, Linux et macOS. Ainsi, dans un environnement mix,
- 1:38Speaker 2: vous n'avez pas besoin de changer d'outil. Voici ce qu'il
- 1:39Speaker 2: en est. Si vous travaillez dans l'informatique, PowerShell est le
- 1:42Speaker 2: langage de l'écosystème Microsoft. C'est ainsi que vous communiquez avec
- 1:45Speaker 2: votre infrastructure et automatisez les tâches répétitives pour vous concentrer
- 1:48Speaker 2: sur les problèmes intéressants. Mais avant d'aborder ce qu'il peut faire,
- 1:51Speaker 2: voyons comment il fonctionne réellement. Le modèle verbe nom. Comment
- 1:54Speaker 2: fonctionnent les commandes PowerShell? Chaque commande PowerShell suit un modèle
- 1:57Speaker 2: simple appelé verbe nom et c'est exactement ce que cela suggère.
- 2:01Speaker 2: Le verbe vous indique ce que vous voulez faire. Get, Set, New, Remove, Start, Stop.
- 2:06Speaker 2: Et le nom vous indique ce que vous ciblez, comme Process, Service, User,
- 2:09Speaker 2: Item ou Mailbox. Ainsi, GetProcess vous donne une liste des
- 2:12Speaker 2: processus en cours d'exécution. GetService vous montre tous les services
- 2:14Speaker 2: présents sur votre machine. SetDate modifie l'heure du système. StopService
- 2:18Speaker 2: arrête un service. Le modèle est si cohérent qu'une fois appris,
- 2:20Speaker 2: vous pouvez deviner des commandes jamais vues. Vous voulez démarrer
- 2:24Speaker 2: un service? Tapez Start Service. Besoin de supprimer un utilisateur?
- 2:27Speaker 2: Tapez Remove User. C'est aussi simple que cela. PowerShell a
- 2:30Speaker 2: été conçu pour être intuitif, vous n'avez donc pas besoin
- 2:32Speaker 2: de mémoriser des centaines de commandes. Votre meilleur allié ici
- 2:35Speaker 2: est la commande Get Command. Exécutez Get Command, Noun Service,
- 2:39Speaker 2: et il vous montre toutes les commandes liées au service.
- 2:42Speaker 2: Get Service, Start Service, Stop Service, Restart Service, Set Service,
- 2:45Speaker 2: New Service, Remove Service. Toutes sont là, il suffit de demander.
- 2:49Speaker 2: Laissez-moi vous donner un exemple concret. Disons que vous voulez
- 2:51Speaker 2: savoir quelle commande gère les processus. Vous exécutez getCommandNameProcess. Vous
- 2:55Speaker 2: obtenez getProcess, startProcess, debugProcess. Vous n'avez pas besoin de deviser.
- 3:00Speaker 2: L'outil vous le dit. C'est ce qui rend PowerShell si
- 3:02Speaker 2: différent des outils en ligne de commandes classiques où il
- 3:04Speaker 2: fallait mémoriser chaque option. Et voici pourquoi c'est important. On
- 3:07Speaker 2: n'apprend pas PowerShell en mémorisant un millier de commandes. Vous
- 3:10Speaker 2: apprenez le modèle et vous découvrez le reste au fur
- 3:12Speaker 2: et à mesure. C'est comme apprendre qu'un verbe dans une
- 3:14Speaker 2: langue suit toujours la même conjugaison. Une fois la règle connue,
- 3:17Speaker 2: vous pouvez l'appliquer partout. Mais c'est ici que PowerShell se
- 3:19Speaker 2: démarque réellement de tout le reste. Les objets plutôt que
- 3:23Speaker 2: le texte changent la donne. Voici ce qui rend PowerShell
- 3:25Speaker 2: fondamentalement différent de tous les outils en ligne de commande précédent.
- 3:29Speaker 2: Les lignes de commande traditionnelles affichent du texte. Vous exécutez
- 3:31Speaker 2: une commande et obtenez des lignes de caractère à l'écran
- 3:34Speaker 2: et c'est tout. Si vous voulez exploiter ce résultat, vous
- 3:36Speaker 2: devez l'analyser, le découper, extraire les parties nécessaires, ce qui
- 3:39Speaker 2: est fragile. Ce qui est fragile. Un espace mal placé
- 3:43Speaker 2: et tout votre script échoue. PowerShell ne fonctionne pas comme ça.
- 3:46Speaker 2: Il faut fournir des objets, des données structurées avec des
- 3:48Speaker 2: propriétés et des méthodes. Lorsque vous lancez GetProcess, vous n'obtenez
- 3:50Speaker 2: pas un tableau de texte. Vous obtenez des objets de processus.
- 3:53Speaker 2: Chacun possède des propriétés comme le nom, l'ID, le CPU,
- 3:55Speaker 2: la mémoire, l'heure de démarrage et des méthodes comme Kill.
- 3:57Speaker 2: Vous pouvez extraire ces propriétés, les filtrer, les trier, les exporter.
- 4:00Speaker 2: Vous pouvez effectuer des opérations sur des données qui prendraient
- 4:02Speaker 2: 20 lignes d'analyse de texte en une seule commande. C'est
- 4:05Speaker 2: ça qui change la donne. Laissez-moi vous montrer. A l'ancienne,
- 4:07Speaker 2: avec la commande Tasklist de l'invite de commande, vous obteniez
- 4:09Speaker 2: un tableau textuel. Si vous voulez trouver les processus utilisant
- 4:12Speaker 2: plus de 50% du CPU, vous devez écrire une logique d'analyse.
- 4:16Speaker 2: Vous devez tenir compte de la largeur des colonnes, des
- 4:17Speaker 2: espacements et des C'est bruyant et ça casse constamment. La
- 4:20Speaker 2: méthode PowerShell ressemble à ceci. GetProcess envoyé vers WhereObject avec
- 4:23Speaker 2: une condition. Envoyé vers ExportCSV. C'est une seule ligne. Filtrez
- 4:27Speaker 2: seulement les process utilisant plus de 50% du CPU enregistré
- 4:29Speaker 2: dans un fichier CSV. Ce qui rend tout cela possible,
- 4:32Speaker 2: c'est le CMDeleteGetMember. Vous envoyez n'importe quelle commande vers GetMember
- 4:35Speaker 2: et il vous montre chaque propriété et méthode de ces objets.
- 4:37Speaker 2: C'est comme regarder sous le capot. Exécutez GetProcessGetMember et soudain
- 4:40Speaker 2: vous voyez tout. Nom, ID, Handle, CPU, Ensemble de travail,
- 4:44Speaker 2: Heure de début et des méthodes comme Kill, Refresh, WaitForExit,
- 4:47Speaker 2: Vous n'avez pas besoin de deviner quelles données sont disponibles.
- 4:49Speaker 2: L'outil vous le dit. Voici un scénario réel. Disons que
- 4:52Speaker 2: vous gérez 50 serveurs. Vous devez trouver tous les services
- 4:55Speaker 2: arrêtés sur chacun d'eux. A l'ancienne, vous vous connecteriez à
- 4:57Speaker 2: distance à chaque serveur, ouvrirez Service. msc, vérifierez manuellement, noteriez tout.
- 5:01Speaker 2: Cela prend des heures. Avec PowerShell, vous écrivez une seule commande.
- 5:04Speaker 2: Get service sur chaque machine, filtrez où le statut est arrêté,
- 5:06Speaker 2: exportez vers un CSV. Une commande, 50 serveurs, le même
- 5:10Speaker 2: résultat à chaque fois. Pas de clic dans les interfaces graphiques,
- 5:12Speaker 2: pas de prise de notes manuelle, pas d'erreur en copiant
- 5:14Speaker 2: des données. Et voici pourquoi c'est important. La sortie en
- 5:17Speaker 2: objet signifie que vous pouvez enchaîner les commandes. La sortie
- 5:19Speaker 2: d'une commande alimente directement la suivante sous forme de données structurées.
- 5:23Speaker 2: Vous ne passez pas du texte, vous manipulez des objets.
- 5:25Speaker 2: C'est la différence entre trier une pile de papier volant
- 5:28Speaker 2: et travailler avec un classeur où tout est étiqueté. Maintenant,
- 5:32Speaker 2: vous connaissez le modèle des pipelines. Parlons des commandes que
- 5:34Speaker 2: vous utiliserez réellement. Les 5 groupes de CMD à l'essentiel.
- 5:37Speaker 2: Vous n'avez pas besoin d'apprendre des centaines de CMD reproductifs
- 5:40Speaker 2: avec PowerShell. Commencez avec 5 groupes et vous couvrirez environ
- 5:42Speaker 2: 80% de votre travail quotidien. Le premier groupe est la découverte.
- 5:46Speaker 2: C'est le plus important car il vous apprend PowerShell depuis l'intérieur. GetHelp, GetCommand, GetMember,
- 5:51Speaker 2: ces trois-là sont vos outils d'apprentissage. Vous n'avez rien besoin
- 5:54Speaker 2: de mémoriser car vous pouvez toujours faire une recherche. GetHelp
- 5:57Speaker 2: vous montre comment utiliser une commande, GetCommand liste les commandes
- 5:59Speaker 2: existantes et GetMember indique les données qu'elles produisent. Si vous
- 6:03Speaker 2: ne devez apprendre que trois choses, apprenez celles-ci. Le deuxième
- 6:05Speaker 2: groupe concerne le système de fichiers couvrant les tâches courantes
- 6:07Speaker 2: que vous effectuez constamment. GetChildItem liste les fichiers dossiers, CopyItem
- 6:11Speaker 2: les copie, RemoveItem les supprime et GetContent lit le contenu
- 6:14Speaker 2: d'un fichier. Vous pouvez faire en une ligne ce qui
- 6:16Speaker 2: nécessiterait de cliquer à travers de multiples fenêtres de dossiers.
- 6:19Speaker 2: Le troisième groupe est le système pour gérer ce qui
- 6:20Speaker 2: s'exécute sur votre machine. GetProcess montre les processus en cours,
- 6:24Speaker 2: GetService affiche les services, tandis que StartService et StopService les contrôlent.
- 6:28Speaker 2: RestartComputer redémarre une machine. Si vous avez déjà ouvert le
- 6:31Speaker 2: gestionnaire des tâches ou les services, ces commandes remplacent tout
- 6:33Speaker 2: cela et fonctionnent à distance. Vous pouvez vérifier les services
- 6:37Speaker 2: sur 100 machines sans quitter votre bureau. Le quatrième groupe
- 6:39Speaker 2: concerne le filtrage et la mise en forme là où
- 6:41Speaker 2: le pipeline brie vraiment. WhereObject filtre les données selon des conditions,
- 6:44Speaker 2: Select Object choisit les propriétés à afficher, Sort Object ordonne
- 6:48Speaker 2: les résultats et Group Object les agrège. Ces applets de
- 6:51Speaker 2: commandes transforment des données brutes en informations utiles. Sans eux,
- 6:53Speaker 2: vous ne faites qu'afficher des données en vrac à l'écran.
- 6:55Speaker 2: Mais que vous pouvez poser des questions précises et obtenir
- 6:57Speaker 2: des réponses spécifiques. Le cinquième groupe est l'exportation, la façon
- 7:00Speaker 2: dont vous enregistrez votre travail. Export CSV, écrit vers un
- 7:03Speaker 2: fichier ouvert dans Excel, Outfile vers un fichier texte et
- 7:05Speaker 2: Convert to JSON, converti au format JSON. Ces applets de
- 7:09Speaker 2: commandes vous permettent de transformer vos commandes en rapports, journaux
- 7:11Speaker 2: ou fichiers de données. Vous exécutez une commande, filtrez les
- 7:13Speaker 2: résultats et les enregistrez. C'est ça un rapport, c'est ça l'automatisation.
- 7:16Speaker 2: Voici un exemple rapide pour chaque groupe. Pour la découverte,
- 7:19Speaker 2: exécuter getCommandNandService pour voir chaque commande liée au service. Pour
- 7:23Speaker 2: le système de fichiers, getChildItemC, allog, récurse, whereObject. Length, dîmes, b,
- 7:29Speaker 2: trouve les gros fichiers journaux. Pour le système, getService, whereObject. Tatuzex, stopped,
- 7:34Speaker 2: liste les services, arrêté. Pour le filtrage, getProcess, sortObjectCPUDescending. Select
- 7:41Speaker 2: Object First 5 montre les 5 plus gros consommateurs de
- 7:43Speaker 2: CPU et pour l'export, Get Service, Export CSV Service. Le
- 7:47Speaker 2: CSV enregistre tout dans un fichier. Voici pourquoi c'est important.
- 7:50Speaker 2: Ces 5 groupes couvrent la grande majorité de ce que
- 7:52Speaker 2: vous ferez. Vous n'avez pas besoin d'être un expert PowerShell,
- 7:55Speaker 2: juste de savoir par où commencer. Et le meilleur point
- 7:57Speaker 2: de départ est le groupe qui vous enseigne tout le reste.
- 7:59Speaker 2: Parlons de la découverte. La découverte d'abord, Get Help, Get Command,
- 8:03Speaker 2: Get Member. Laissez-moi vous parler de l'appelette commande la plus
- 8:06Speaker 2: importante que vous apprendrez, Get Help. C'est le manuel intégré
- 8:09Speaker 2: de PowerShell. Tapez Get Help, suivi de n'importe quel nom
- 8:12Speaker 2: de commande, et il vous montrera la syntaxe, les paramètres
- 8:15Speaker 2: et surtout des exemples fonctionnels. Vous n'avez pas besoin de
- 8:17Speaker 2: faire des recherches sur Internet ni de mémoriser quoi que
- 8:19Speaker 2: ce soit. La documentation est directement intégrée à l'outil. Disons
- 8:22Speaker 2: que vous voulez comprendre comment fonctionne Get Process. Tapez Get Help,
- 8:25Speaker 2: Get Process, et il vous montrera la syntaxe, les paramètres
- 8:27Speaker 2: acceptés et l'utilité de chacun. Mais le vrai trésor réside
- 8:30Speaker 2: dans les exemples Get Process Exemple. Les exemples vous donnent
- 8:33Speaker 2: directement du code prêt à être copié et exécuté. C'est
- 8:35Speaker 2: ainsi que vous apprenez PowerShell directement depuis Porsche. Ensuite, il
- 8:38Speaker 2: y a Get Command. Ce cmdelete liste tout ce qui
- 8:41Speaker 2: est disponible dans votre session. Chaque cmdelete, fonction et script.
- 8:45Speaker 2: Et vous pouvez filtrer ses résultats. GetCommandVerbGet. Il vous montre
- 8:49Speaker 2: toutes les commandes GetTicket. Et il y en a des centaines. GetProcess, GetService, GetDate, GetItem, GetContent.
- 8:56Speaker 2: Tout simplement les demandant. GetCommandNoneService vous montre toutes les commandes
- 9:00Speaker 2: qui interagissent avec les services. GetService, StartService, StopService, RestartService, SetService, NewService, RemoveService.
- 9:06Speaker 2: Nul besoin à deviner ce qui est disponible. L'outil vous
- 9:08Speaker 2: le dit. Et puis il y a GetMember, celui qui
- 9:11Speaker 2: déverrouille tout. Transmettez n'importe quelle commande à GetMember et il
- 9:14Speaker 2: vous révélera le contenu des objets renvoyés par cette commande.
- 9:18Speaker 2: Exécutez GetProcess, GetMember et vous verrez chaque propriété et méthode
- 9:21Speaker 2: des objets processus. Nom, ID, CPU, espace mémoire, heure de
- 9:26Speaker 2: démarrage et des méthodes comme Kill, Refresh, WaitForExit. Vous n'avez
- 9:30Speaker 2: pas à vous demander quelles données sont disponibles. Vous pouvez
- 9:32Speaker 2: les inspecter directement. Pourquoi est-ce important? Vous n'avez jamais besoin
- 9:35Speaker 2: de tout mémoriser. Vous pouvez apprendre au fur et à mesure.
- 9:38Speaker 2: Getter vous apprend à utiliser les commandes, GetCommand vous montre
- 9:40Speaker 2: quelles commandes existent, et GetMember vous montre quelles données ces
- 9:43Speaker 2: commandes renvoient. Ces trois cellules sont vos outils d'apprentissage. Ils
- 9:46Speaker 2: rendent PowerShell autodocumenté. Une fois que vous savez ce qui
- 9:49Speaker 2: est disponible, l'étape suivante consiste à structurer ces données pour
- 9:51Speaker 2: les rendre utiles. Filtrer, structurer, exporter, pour transformer des commandes
- 9:55Speaker 2: en rapports. Voici ce qu'il faut retenir de PowerShell. La
- 9:58Speaker 2: puissance ne réside pas dans une commande isolée, mais dans
- 10:00Speaker 2: la façon dont vous les combinez via le pipeline. Vous
- 10:02Speaker 2: prenez la sortie d'un CTEAM délai, vous la transmettez à
- 10:04Speaker 2: un autre et vous construisez des opérations complexes à partir
- 10:06Speaker 2: de briques simples. WearObject est votre filtre qui ne laisse
- 10:09Speaker 2: passer que les objets correspondant à votre condition. Ainsi, GetService, WearObject,
- 10:14Speaker 2: Status et Running ne vous donnent que les services en
- 10:16Speaker 2: cours d'exécution. Plus besoin de faire défiler une liste d'une
- 10:19Speaker 2: centaine de services La commande effectue le filtrage pour vous.
- 10:21Speaker 2: Select Object choisit les propriétés que vous souhaitez afficher. Get
- 10:25Speaker 2: Process Select Object Name, CPU. Working Set renvoie uniquement les
- 10:28Speaker 2: données qui vous intéressent. Cela élimine les handles, la mémoire
- 10:32Speaker 2: paginée et les IDs de session, ne laissant que les
- 10:34Speaker 2: colonnes demandées. C'est ainsi que l'on transforme un mur de
- 10:37Speaker 2: données en un tableau propre et lisible. Sort Object organise
- 10:40Speaker 2: vos résultats. Get Process Sort Object CPU Descending affiche d'abord
- 10:44Speaker 2: les processus les plus gourmands en CPU pour identifier... immédiatement
- 10:48Speaker 2: le problème sans parcourir une liste non triée. Export CSV
- 10:52Speaker 2: enregistre le tout dans un fichier que vous pouvez ouvrir
- 10:53Speaker 2: avec Excel. C'est là que la magie opère. Vous exécutez
- 10:56Speaker 2: une commande, vous la filtrez, vous la mettez en forme
- 10:57Speaker 2: et vous l'enregistrez. C'est un rapport et c'est ça l'automatisation.
- 11:00Speaker 2: Voici le modèle complet assemblé. C'est une commande unique qui
- 11:11Speaker 2: récupère tous les services, filtre ceux qui sont arrêtés, sélectionne
- 11:14Speaker 2: le nom et le nom d'affichage et enregistre le résultat
- 11:16Speaker 2: dans un fichier CSV. Vous pouvez l'exécuter sur une machine
- 11:18Speaker 2: ou sur une centaine, vous obtiendrez le même résultat à
- 11:20Speaker 2: chaque fois. C'est ce qui remplace des heures de clics
- 11:21Speaker 2: dans les interfaces graphiques et de copier-coller manuels. Au lieu
- 11:24Speaker 2: d'ouvrir services. msc sur chaque serveur, de parcourir la liste, de
- 11:27Speaker 2: noter ce qui est arrêté et de le taper dans
- 11:28Speaker 2: un tableur, vous exécutez une seule commande. Cela prend quelques secondes,
- 11:32Speaker 2: c'est précis et c'est reproductible. Pourquoi c'est important? Passez d'une
- 11:36Speaker 2: approche réactive à une approche proactive. Vous pouvez planifier l'exécution
- 11:38Speaker 2: de ces rapports. Chaque matin, Inscript vérifie vos services, exporte
- 11:42Speaker 2: les résultats et vous les envoie par e-mail. Vous détectez
- 11:44Speaker 2: les problèmes avant qu'ils ne deviennent des urgences, car vous
- 11:46Speaker 2: savez ce qui tourne, ce qui est arrêté, ce qui
- 11:47Speaker 2: nécessite une attention particulière. Au lieu d'attendre qu'une panne survienne,
- 11:50Speaker 2: vous prenez les devants. Maintenant, vous avez les éléments. Les
- 11:53Speaker 2: outils de découverte pour savoir ce qui est disponible, les
- 11:55Speaker 2: outils de filtrage pour trouver ce qui compte, et les
- 11:57Speaker 2: outils d'exportation pour sauvegarder vos résultats. Voyons comment tout cela
- 12:00Speaker 2: s'assemble pour former un système cohérent. Comment tout cela se connecte?
- 12:04Speaker 2: Le pipeline en action. Le pipeline est le cœur de PowerShell,
- 12:07Speaker 2: ce n'est pas juste une fonctionnalité. Chaque Sennim Delay génère
- 12:09Speaker 2: des objets, et le pipeline transmet ces objets directement à
- 12:11Speaker 2: la Sennim Delay suivante. C'est cette idée simple qui rend
- 12:14Speaker 2: PowerShell si puissant. Vous construisez des opérations complexes à partir
- 12:18Speaker 2: de briques élémentaires, un tube à la fois? Laissez-moi vous
- 12:20Speaker 2: donner un scénario réel. Imaginons qu'un utilisateur appelle parce que
- 12:22Speaker 2: son compte est verrouillé. Cela arrive tout le temps. Quelqu'un
- 12:25Speaker 2: tape son mot de passe de manière erronée trop souvent
- 12:27Speaker 2: et soudain il ne peut plus se connecter. L'ancienne façon
- 12:29Speaker 2: de gérer cela est un vrai casse-tête. Vous ouvrez Utilisateur
- 12:31Speaker 2: et Coordinateur Active Directory, parcourez la liste, trouvez l'utilisateur, faites
- 12:35Speaker 2: un clic droit, vérifiez le compte, le déverrouillez, puis ouvrez
- 12:38Speaker 2: l'observateur d'événements pour trouver l'événement de verrouillage et notez manuellement
- 12:41Speaker 2: l'heure et la source. Tout ce processus prend 5 à
- 12:44Speaker 2: 10 minutes par utilisateur et si plusieurs utilisateurs vous appellent,
- 12:47Speaker 2: vous passez toute votre matinée sur cette seule tâche. La
- 12:50Speaker 2: méthode PowerShell est totalement différente. Commande. GetAdducer, avec le filtre LockedOutEggTrue,
- 12:55Speaker 2: trouve tous les comptes, verrouillés dans votre domaine. Ensuite, vous
- 12:58Speaker 2: envoyez cela vers UnlockedAccount et c'est tout. Le script trouve
- 13:01Speaker 2: les comptes verrouillés et les déverrouille, puis vous envoyez le
- 13:03Speaker 2: résultat vers une fonction de journalisation ou vous l'exportez vers
- 13:05Speaker 2: un rapport. Vous avez une trace de ce qui s'est
- 13:07Speaker 2: passé quand cela est arrivé et quels comptes ont été
- 13:08Speaker 2: affectés le tout en une seule ligne de code. Et
- 13:11Speaker 2: voici le point important, le même modèle fonctionne partout. boîte
- 13:14Speaker 2: aux lettres, Exchange, CanoTeam, C-SharePoint, Ressources Azure, les CMD, l'échange.
- 13:18Speaker 2: Mais le pipeline reste le même. Vous récupérez quelque chose,
- 13:21Speaker 2: vous le filtrez, vous effectuez une action dessus et vous
- 13:22Speaker 2: enregistrez la raison. Par exemple, GetMailbox, filtrer par une condition,
- 13:25Speaker 2: définir une propriété, exporter en CSV ou obtenir une équipe,
- 13:28Speaker 2: filtrer par appartenance, ajouter un membre, journaliser le changement, journaliser
- 13:31Speaker 2: le changement. Le modèle est antique à chaque fois. Pourquoi
- 13:33Speaker 2: est-ce important? Une fois que vous comprenez le pipeline, vous
- 13:35Speaker 2: pouvez automatiser presque tout. Le modèle est le même que
- 13:38Speaker 2: vous gériez un utilisateur ou mille, un serveur ou une centaine.
- 13:41Speaker 2: Vous apprenez le modèle une fois et vous l'appliquez partout.
- 13:45Speaker 2: Très bien, vous avez vu ce que c'est et comment
- 13:46Speaker 2: ça fonctionne. Maintenant, parlons de ce que vous devriez réellement
- 13:48Speaker 2: faire ensuite. Vos premiers pas vers l'automatisation. Alors, par où commencer?
- 13:52Speaker 2: Ouvrez PowerShell et lancez GetHelp pour commencer à explorer. Tapez GetHelp,
- 13:56Speaker 2: GetProcess et voyez ce qu'il vous montre. Ensuite, tapez GetHelp,
- 13:59Speaker 2: GetServiceExample et regardez les exemples pratiques. C'est ainsi que vous
- 14:02Speaker 2: apprenez l'outil depuis l'intérieur de l'outil. Pas besoin de chercher
- 14:05Speaker 2: sur Internet ou de regarder des tutoriels. La documentation est
- 14:07Speaker 2: juste là. Ensuite, choisissez une tâche que vous effectuez chaque semaine.
- 14:10Speaker 2: Peut-être vérifier quels services sont en cours d'exécution sur un serveur,
- 14:13Speaker 2: lister des fichiers dans un dossier ou exporter un rapport.
- 14:15Speaker 2: Écrivez une commande en une ligne pour cela et commencez simplement.
- 14:17Speaker 2: Quelque chose comme getService, where objectStatusEchorning, c'est une commande en
- 14:21Speaker 2: une ligne. Exécutez-la, voyez le résultat et enregistrez-la. Vous venez
- 14:24Speaker 2: d'automatiser quelque chose que vous faisiez malheureusement par an. Utilisez
- 14:26Speaker 2: ensuite getCommand et getNumber pour découvrir ce qui est possible.
- 14:28Speaker 2: Vous n'avez pas besoin de tout savoir dès le début,
- 14:30Speaker 2: juste de savoir comment trouver ce dont vous avez besoin.
- 14:32Speaker 2: getCommandAndService vous montre toutes les commandes liées au service à
- 14:35Speaker 2: les getProcess. getNumber affiche toutes les propriétés des objets processus.
- 14:40Speaker 2: L'outil vous indique ce qu'il peut faire, il suffit de
- 14:41Speaker 2: lui demander. La meilleure première étape est simple. Automatisez la
- 14:44Speaker 2: tâche que vous effectuez le plus souvent. Même une simple
- 14:46Speaker 2: ligne de commande vous fait gagner du temps. Si vous
- 14:48Speaker 2: vérifiez les services chaque matin, écrivez une ligne qui les
- 14:51Speaker 2: vérifie pour vous. Si vous nettoyez vos fichiers temporaires chaque semaine,
- 14:54Speaker 2: écrivez une ligne qui le fait. Commencez petit et développé
- 14:56Speaker 2: à partir de là. Maintenant, quelle est la prochaine étape?
- 14:58Speaker 2: Microsoft Learn propose des parcours d'apprentissage PowerShell gratuits. Ils sont structurés,
- 15:02Speaker 2: pratiques et entièrement gratuits. La PowerShell Galerie contient des milliers
- 15:05Speaker 2: de modules communautaires. Quelqu'un a probablement déjà écrit un module
- 15:08Speaker 2: pour ce que vous essayez de faire. Il n'est pas
- 15:10Speaker 2: nécessaire de réinventer la roue. PowerShell est une compétence, pas
- 15:12Speaker 2: juste un outil. Plus vous l'utilisez, plus ça devient intuitif.
- 15:15Speaker 2: Vous n'avez pas besoin d'être développeur. Il suffit de vous lancer.
- 15:18Speaker 2: 10 minutes par jour suffisent pour développer de vraies capacités.
- 15:20Speaker 2: Exécutez une commande aujourd'hui, deux demain, et avant même de
- 15:22Speaker 2: vous en rendre compte, vous automatisez des choses que vous
- 15:24Speaker 2: n'auriez jamais crues possibles. Voilà donc PowerShell, le langage qui
- 15:27Speaker 2: connecte tout l'écosystème Microsoft. Ouvrez-le et lancez GetProcess pour voir
- 15:31Speaker 2: à quoi cela ressemble. Abonnez-vous ensuite pour plus de conseils
- 15:34Speaker 2: et laissez un commentaire sur ce que vous souhaitez automatiser.
- 15:36Speaker 2: Quelle est la tâche que vous aimeriez automatiser? Dites-le moi.
- 15:39Speaker 2: pourrait l'aborder dans un futur épisode.