{"id":214927,"date":"2024-03-14T08:46:12","date_gmt":"2024-03-14T08:46:12","guid":{"rendered":"https:\/\/www.ninjaone.com\/?p=214927"},"modified":"2025-06-12T13:41:15","modified_gmt":"2025-06-12T13:41:15","slug":"boucles-powershell","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/fr\/blog\/boucles-powershell\/","title":{"rendered":"Comment ex\u00e9cuter une boucle PowerShell\u00a0: guide pour des scripts plus efficaces"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">PowerShell est un puissant langage de script qui vous permet d&rsquo;automatiser des t\u00e2ches sur votre ordinateur Windows. Les administrateurs syst\u00e8me et les professionnels de l&rsquo;informatique peuvent utiliser PowerShell pour renforcer <\/span><a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/comment-ameliorer-efficacite-informatique-entreprise\/\"><span style=\"font-weight: 400;\">l&rsquo;efficacit\u00e9 et la productivit\u00e9<\/span><\/a><span style=\"font-weight: 400;\"> en ex\u00e9cutant des commandes via l&rsquo;interface de ligne de commande de l&rsquo;outil. Les caract\u00e9ristiques et les avantages de PowerShell comprennent l&rsquo;int\u00e9gration avec le cadre .NET, la gestion \u00e0 distance pour les environnements informatiques \u00e0 grande \u00e9chelle et la possibilit\u00e9 de cr\u00e9er des pipelines de commandes multiples.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L&rsquo;une des principales caract\u00e9ristiques de PowerShell est sa capacit\u00e9 \u00e0 r\u00e9p\u00e9ter plusieurs fois un ensemble d&rsquo;instructions, ce qui peut grandement am\u00e9liorer l&rsquo;efficacit\u00e9 de vos scripts. Si vous vous demandez <\/span><b>comment ex\u00e9cuter une boucle dans PowerShell<\/b><span style=\"font-weight: 400;\">, vous trouverez dans cet article tous les types \u00e0 votre disposition ainsi que des exemples pour les utiliser efficacement<\/span>.<\/p>\n<h2>Types de boucles PowerShell (<i>For<\/i>, <i>Foreach<\/i>, <i>While<\/i>, <i>Do-while<\/i>, <i>Do-until<\/i>)<\/h2>\n<p><span style=\"font-weight: 400;\">Pour comprendre comment faire des boucles dans PowerShell, commen\u00e7ons par en comprendre les diff\u00e9rents types. Chaque variation de boucle PowerShell a sa propre syntaxe et sa propre utilisation. Comprendre leurs diff\u00e9rences vous permettra de choisir celle qui convient le mieux \u00e0 vos besoins.<\/span><\/p>\n<h3>Syntaxe et utilisation de la <strong>boucle <i>for<\/i><\/strong> dans PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">La boucle<\/span><i> <span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> est une construction classique dans les langages de programmation tels que PowerShell, et vous permet d&rsquo;it\u00e9rer sur une plage de valeurs sp\u00e9cifi\u00e9e. Elle se compose de trois parties\u00a0: l&rsquo;initialisation, la condition et l&rsquo;it\u00e9ration\u00a0:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">L&rsquo;<\/span><b>initialisation<\/b><span style=\"font-weight: 400;\"> d\u00e9finit la valeur initiale d&rsquo;une variable.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">La <\/span><b>condition<\/b><span style=\"font-weight: 400;\"> v\u00e9rifie si la boucle doit continuer (par exemple, en v\u00e9rifiant si la variable est inf\u00e9rieure ou sup\u00e9rieure \u00e0 un nombre sp\u00e9cifique).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">L&rsquo;<\/span><b>it\u00e9ration<\/b><span style=\"font-weight: 400;\"> met \u00e0 jour la variable apr\u00e8s chaque it\u00e9ration.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Pour utiliser la boucle <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> de PowerShell, utilisez la syntaxe suivante\u00a0:<\/span><\/p>\n<p><strong>for ($i = 0 ; $i -lt 10 ; $i++) { # Votre code ici }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Dans cet exemple, la boucle sera ex\u00e9cut\u00e9e 10 fois, en partant de z\u00e9ro et en incr\u00e9mentant d&rsquo;une unit\u00e9 \u00e0 chaque it\u00e9ration.<\/span><\/p>\n<h3>Syntaxe et utilisation de la <strong>boucle <i>foreach<\/i><\/strong> dans PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">La boucle <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\"> dans PowerShell est utilis\u00e9e pour it\u00e9rer sur une collection d&rsquo;\u00e9l\u00e9ments, tels qu&rsquo;un tableau ou une liste. Elle attribue automatiquement chaque \u00e9l\u00e9ment \u00e0 une variable, ce qui vous permet d&rsquo;effectuer des actions sur chaque \u00e9l\u00e9ment individuel.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour utiliser la boucle <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\"> de PowerShell, utilisez la syntaxe suivante\u00a0:<\/span><\/p>\n<p><strong>foreach ($item in $collection) { # Votre code ici }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Dans cet exemple, la boucle it\u00e8re sur chaque \u00e9l\u00e9ment de la variable $collection, et vous pouvez acc\u00e9der \u00e0 chaque \u00e9l\u00e9ment \u00e0 l&rsquo;aide de la variable $item au sein de la boucle.<\/span><\/p>\n<h3>Syntaxe et utilisation de la <strong>boucle <i>while<\/i><\/strong> dans PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">La boucle <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> dans PowerShell est utilis\u00e9e lorsque vous souhaitez r\u00e9p\u00e9ter une s\u00e9rie d&rsquo;instructions tant qu&rsquo;une certaine condition est remplie. Elle v\u00e9rifie la condition avant chaque it\u00e9ration et sort de la boucle lorsque la condition devient fausse.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour utiliser la boucle <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> de PowerShell, utilisez la syntaxe suivante :<\/span><\/p>\n<p><strong>while ($condition) { # Votre code ici }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Dans cet exemple, la boucle continuera \u00e0 s&rsquo;ex\u00e9cuter tant que la condition\u00a0$ est vraie.<\/span><\/p>\n<h3>Syntaxe et utilisation de la <strong>boucle<i> do-while<\/i><\/strong> dans PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">La boucle <\/span><i><span style=\"font-weight: 400;\">do-while<\/span><\/i><span style=\"font-weight: 400;\"> dans PowerShell est similaire \u00e0 la boucle <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> mais au lieu de v\u00e9rifier la condition avant chaque it\u00e9ration, elle la v\u00e9rifie apr\u00e8s. Cela signifie que la boucle s&rsquo;ex\u00e9cutera toujours au moins une fois, m\u00eame si la condition est initialement fausse.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour utiliser la boucle <\/span><i><span style=\"font-weight: 400;\">do-while<\/span><\/i><span style=\"font-weight: 400;\"> de PowerShell, utilisez la syntaxe suivante\u00a0:<\/span><\/p>\n<p><strong>do { # Votre code ici } while ($condition)<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Dans cet exemple, la boucle ex\u00e9cute le bloc de code au moins une fois, puis continue \u00e0 s&rsquo;ex\u00e9cuter tant que la condition $ est vraie.<\/span><\/p>\n<h3>Syntaxe et utilisation de la <strong>boucle <i>do-until<\/i><\/strong> dans PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">La boucle <\/span><i><span style=\"font-weight: 400;\">do-until<\/span><\/i><span style=\"font-weight: 400;\"> dans PowerShell est l&rsquo;oppos\u00e9 de la boucle <\/span><i><span style=\"font-weight: 400;\">do-while<\/span><\/i><span style=\"font-weight: 400;\">. Elle ex\u00e9cute un ensemble d&rsquo;instructions jusqu&rsquo;\u00e0 ce qu&rsquo;une certaine condition devienne vraie. Cela signifie que la boucle s&rsquo;ex\u00e9cutera toujours au moins une fois, m\u00eame si la condition est initialement vraie.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour utiliser la boucle <\/span><i><span style=\"font-weight: 400;\">do-until<\/span><\/i><span style=\"font-weight: 400;\"> de PowerShell, utilisez la syntaxe suivante\u00a0:<\/span><\/p>\n<p><strong>do { # Votre code ici } until ($condition)<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Dans cet exemple, la boucle ex\u00e9cutera le bloc de code au moins une fois, puis continuera \u00e0 s&rsquo;ex\u00e9cuter jusqu&rsquo;\u00e0 ce que la condition $ devienne vraie.<\/span><\/p>\n<h2>Comment r\u00e9p\u00e9ter une commande PowerShell\u00a0?<\/h2>\n<p><span style=\"font-weight: 400;\">Maintenant que vous avez compris les bases de la cr\u00e9ation de boucles dans PowerShell, allons plus loin. L&rsquo;une des fa\u00e7ons les plus simples de r\u00e9p\u00e9ter une commande PowerShell est d&rsquo;utiliser une boucle et de sp\u00e9cifier le nombre de fois que la commande doit \u00eatre ex\u00e9cut\u00e9e.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Par exemple, si vous souhaitez r\u00e9p\u00e9ter une commande 5\u00a0fois, vous pouvez utiliser une commande <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> comme suit\u00a0:<\/span><\/p>\n<p><strong>for ($i = 0 ; $i -lt 5 ; $i++) { # Votre commande ici }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">La commande sera ex\u00e9cut\u00e9e cinq fois\u00a0: la variable $i sera incr\u00e9ment\u00e9e d&rsquo;une unit\u00e9 \u00e0 chaque it\u00e9ration, et la boucle s&rsquo;arr\u00eatera lorsque la valeur de la variable atteindra\u00a05.<\/span><\/p>\n<h2>Exemples de boucles PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">Vous trouverez ci-dessous quelques exemples de base sur la fa\u00e7on dont vous pouvez utiliser les boucles dans PowerShell pour automatiser des t\u00e2ches et am\u00e9liorer l&rsquo;efficacit\u00e9 de vos scripts.<\/span><\/p>\n<h3>Exemple\u00a01\u00a0: Impression des nombres de 1 \u00e0 10 \u00e0 l&rsquo;aide d&rsquo;une boucle <i>for<\/i><\/h3>\n<p><strong>for ($i = 1 ; $i -le 10 ; $i++) { Write-Output $i }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Les nombres de 1 \u00e0 10 seront imprim\u00e9s dans la console PowerShell.<\/span><\/p>\n<h3>Exemple\u00a02\u00a0: It\u00e9rer sur un tableau \u00e0 l&rsquo;aide d&rsquo;une boucle <i>foreach<\/i><\/h3>\n<p><strong>$fruits = @(\u00ab\u00a0pomme\u00a0\u00bb, \u00ab\u00a0banane\u00a0\u00bb, \u00ab\u00a0orange\u00a0\u00bb)<\/strong><\/p>\n<p><strong>foreach ($fruit in $fruits) { Write-Output $fruit }<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Cela permet d&rsquo;it\u00e9rer sur chaque \u00e9l\u00e9ment du tableau $fruits et de l&rsquo;imprimer dans la console PowerShell.<\/span><\/p>\n<h2>Autres moyens d&rsquo;automatiser \u00e0 l&rsquo;aide de PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">En plus des boucles, <\/span><a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-automate-tasks-with-powershell\/\"><span style=\"font-weight: 400;\">PowerShell offre de nombreux autres moyens d&rsquo;automatiser des t\u00e2ches<\/span><\/a><span style=\"font-weight: 400;\"> et d&rsquo;am\u00e9liorer l&rsquo;efficacit\u00e9 de vos scripts. En voici quelques exemples\u00a0:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Les fonctions\u00a0:<\/b><span style=\"font-weight: 400;\"> vous pouvez d\u00e9finir des fonctions r\u00e9utilisables dans PowerShell pour regrouper un ensemble d&rsquo;instructions et les utiliser autant de fois que n\u00e9cessaire.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Les modules :<\/b><span style=\"font-weight: 400;\"> les modules PowerShell vous permettent d&#8217;empaqueter et de partager vos scripts, ce qui facilite la r\u00e9utilisation du code dans diff\u00e9rents projets.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Les pipelines : <\/b>l<span style=\"font-weight: 400;\">es pipelines PowerShell vous permettent d&rsquo;encha\u00eener des commandes, en transformant la sortie d&rsquo;une commande en entr\u00e9e d&rsquo;une autre commande, ce qui peut grandement simplifier les t\u00e2ches complexes.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Les t\u00e2ches planifi\u00e9es : <\/b>v<span style=\"font-weight: 400;\">ous pouvez utiliser PowerShell pour cr\u00e9er des t\u00e2ches planifi\u00e9es qui automatisent l&rsquo;ex\u00e9cution de scripts \u00e0 des moments ou intervalles sp\u00e9cifiques.<\/span><\/li>\n<\/ol>\n<h2>Conclusion<\/h2>\n<p><span style=\"font-weight: 400;\">Savoir faire des boucles dans PowerShell vous permettra de r\u00e9aliser des gains de productivit\u00e9 importants, en am\u00e9liorant l&rsquo;efficacit\u00e9 de vos scripts. En comprenant la syntaxe et l&rsquo;utilisation de chaque type de boucle, vous pouvez choisir celle qui convient le mieux \u00e0 votre situation sp\u00e9cifique. L&rsquo;int\u00e9gration de ces techniques dans votre flux de script PowerShell permettra \u00e0 votre service informatique d&rsquo;\u00e9conomiser un nombre incalculable d&rsquo;heures de travail et d&rsquo;efforts.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Se familiariser avec les boucles n&rsquo;est qu&rsquo;une technique parmi d&rsquo;autres pour <a href=\"https:\/\/www.ninjaone.com\/fr\/script-hub\/\">automatiser des t\u00e2ches r\u00e9p\u00e9titives avec PowerShell<\/a>. Si vous avez besoin d&rsquo;autres id\u00e9es pour am\u00e9liorer la productivit\u00e9 et l&rsquo;efficacit\u00e9, consultez notre guide sur <\/span><a href=\"https:\/\/www.ninjaone.com\/fr\/script-hub\/automatiser-les-installations-office-365\/\"><span style=\"font-weight: 400;\">l&rsquo;automatisation de l&rsquo;installation d&rsquo;Office\u00a0365 avec PowerShell<\/span><\/a><span style=\"font-weight: 400;\"> ou notre liste des <\/span><a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/les-principales-taches-informatiques-repetitives-a-automatiser\/\"><span style=\"font-weight: 400;\">10\u00a0t\u00e2ches r\u00e9p\u00e9titives du helpdesk \u00e0 automatiser<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PowerShell est un puissant langage de script qui vous permet d&rsquo;automatiser des t\u00e2ches sur votre ordinateur Windows. Les administrateurs syst\u00e8me et les professionnels de l&rsquo;informatique peuvent utiliser PowerShell pour renforcer l&rsquo;efficacit\u00e9 et la productivit\u00e9 en ex\u00e9cutant des commandes via l&rsquo;interface de ligne de commande de l&rsquo;outil. Les caract\u00e9ristiques et les avantages de PowerShell comprennent l&rsquo;int\u00e9gration [&hellip;]<\/p>\n","protected":false},"author":89,"featured_media":194662,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[4355,3054],"tags":[],"class_list":["post-214927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-ops","category-rmm-fr"],"acf":[],"modified_by":"Laurie Mouret","_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/posts\/214927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/89"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/comments?post=214927"}],"version-history":[{"count":0,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/posts\/214927\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/194662"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=214927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/categories?post=214927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/tags?post=214927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}