{"id":927026,"date":"2026-11-06T18:24:40","date_gmt":"2026-11-06T18:24:40","guid":{"rendered":"https:\/\/www.ninjaone.com\/blog\/loop-no-powershell\/"},"modified":"2026-11-06T18:24:41","modified_gmt":"2026-11-06T18:24:41","slug":"loop-no-powershell","status":"publish","type":"post","link":"https:\/\/www.ninjaone.com\/pt-br\/blog\/loop-no-powershell\/","title":{"rendered":"Como executar um loop no PowerShell: guia para deixar seus scripts mais eficientes"},"content":{"rendered":"<p><span style=\"font-weight: 400;\"><div class=\"in-context-cta\"><h2 style=\"margin-top: 0px;\">Pontos principais<\/h2>\n<ul>\n<li><strong>Como executar um loop no PowerShell<\/strong>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>for<\/strong>: repete um comando um n\u00famero definido de vezes\n<ul>\n<li><code>for ($i = 0; $i -lt 10; $i++) { # code }<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><strong>foreach<\/strong>: percorre cada item de uma cole\u00e7\u00e3o\n<ul>\n<li><code>foreach ($item in $collection) { # code }<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>while<\/strong>: continua enquanto uma condi\u00e7\u00e3o for verdadeira\n<ul>\n<li><code>while ($condition) { # code }<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>do while<\/strong>: roda sempre pelo menos uma vez e continua se a condi\u00e7\u00e3o for verdadeira\n<ul>\n<li><code>do { # code } while ($condition)<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>do until<\/strong>: roda sempre pelo menos uma vez e continua at\u00e9 a condi\u00e7\u00e3o se tornar verdadeira\n<ul>\n<li><code>do { # code } until ($condition)<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>Como repetir um comando<\/strong>\n<ul>\n<li><strong>Use um loop for<\/strong> com incremento\n<ul>\n<li>Exemplo: repetir 5 vezes\n<ul>\n<li><code>for ($i = 0; $i -lt 5; $i++) { # command }<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div><\/span><\/p>\n<p>O PowerShell \u00e9 uma linguagem de script poderosa que permite automatizar tarefas no computador. Administradores de sistemas e profissionais de TI podem usar o PowerShell para ganhar <a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/como-aumentar-a-eficiencia-de-sua-organizacao\/\">efici\u00eancia de TI<\/a> e produtividade executando comandos pela interface de linha de comando da ferramenta. Ele tamb\u00e9m permite que t\u00e9cnicos de TI repitam um conjunto de instru\u00e7\u00f5es v\u00e1rias vezes, o que aumenta a efici\u00eancia dos scripts nos fluxos de trabalho.<\/p>\n<p>Neste artigo, respondemos \u00e0 pergunta <strong>\u201cComo executar um loop no PowerShell?\u201d<\/strong> apresentando cada tipo de loop do PowerShell com exemplos de uso eficaz.<\/p>\n<p>\ud83d\udca1 Se prefere v\u00eddeos, confira <a href=\"https:\/\/www.ninjaone.com\/videos\/powershell\/how-to-execute-a-powershell-loop\/\">Como executar um loop no PowerShell<\/a>.<\/p>\n<div style=\"padding: 56.25% 0 0 0; position: relative;\"><iframe data-mce-fragment=\"1\" frameborder=\"0\" height=\"350\" src=\"\/\/player.vimeo.com\/video\/1091842170?title=0&amp;byline=0\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" title=\"Como executar um loop no PowerShell\" width=\"425\"><\/iframe><\/div>\n<p><script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script><\/p>\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Receba dicas pr\u00e1ticas e tutoriais sobre os fundamentos de scripts com PowerShell<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/resource\/webinar-on-demand-powershell\/\" class=\"waffle-rich-text-link\">\u2192<\/a> <a href=\"https:\/\/www.ninjaone.com\/resource\/webinar-on-demand-powershell\/\" class=\"waffle-rich-text-link\" rel=\"noopener\" target=\"_blank\">Assista ao webinar aqui<\/a><\/p>\n<\/div>\n<h2>Tipos de loop no PowerShell (loop <i>for<\/i>, <i>foreach<\/i>, <i>while<\/i>, <i>do while<\/i> e <i>do until<\/i>)<\/h2>\n<p><span style=\"font-weight: 400;\">Para entender como fazer um loop no PowerShell, comece pelos tipos de loop. Cada varia\u00e7\u00e3o tem sintaxe e uso pr\u00f3prios. Conhecer as diferen\u00e7as ajuda a escolher a mais adequada a cada necessidade.<\/span><\/p>\n<h3>Sintaxe e uso do <strong>loop <i>for<\/i><\/strong> no PowerShell<\/h3>\n<p>O loop <em>for<\/em> \u00e9 a cl\u00e1ssica estrutura controlada por contador em linguagens de programa\u00e7\u00e3o como o PowerShell. Costuma ser usado quando \u00e9 preciso executar um bloco de c\u00f3digo um n\u00famero conhecido de vezes ou acompanhar a posi\u00e7\u00e3o de um item em uma cole\u00e7\u00e3o. S\u00e3o tr\u00eas partes: inicializa\u00e7\u00e3o, condi\u00e7\u00e3o e itera\u00e7\u00e3o:<\/p>\n<ul>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A <\/span><b>inicializa\u00e7\u00e3o<\/b><span style=\"font-weight: 400;\"> define o valor inicial de uma vari\u00e1vel.<\/span><\/li>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A <\/span><b>condi\u00e7\u00e3o<\/b><span style=\"font-weight: 400;\"> verifica se o loop deve continuar (por exemplo, checando se a vari\u00e1vel \u00e9 menor ou maior que um n\u00famero espec\u00edfico).<\/span><\/li>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A <\/span><b>itera\u00e7\u00e3o<\/b><span style=\"font-weight: 400;\"> atualiza a vari\u00e1vel depois de cada repeti\u00e7\u00e3o.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Para usar o loop <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> no PowerShell, siga esta sintaxe:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">for ($i = 0; $i -lt 10; $i++) { # Your code here }<\/span><br \/>\n<span style=\"font-weight: 400;\">Neste exemplo, o loop roda 10 vezes, come\u00e7ando em zero e aumentando uma unidade a cada itera\u00e7\u00e3o.<\/span><br \/>\n<strong>DICA: <\/strong>se precisa apenas percorrer todos os itens de um array ou cole\u00e7\u00e3o, a Microsoft recomenda usar a instru\u00e7\u00e3o <em>foreach<\/em>. \u00c9 o loop que vamos ver na pr\u00f3xima se\u00e7\u00e3o.<\/p>\n<h3>Sintaxe e uso do <strong>loop <i>foreach<\/i><\/strong> no PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">O loop <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\"> do PowerShell percorre uma cole\u00e7\u00e3o de itens, como um array ou uma lista. Ele atribui cada item a uma vari\u00e1vel automaticamente, o que permite executar a\u00e7\u00f5es em cada item individual.<\/span><br \/>\n<span style=\"font-weight: 400;\">Para usar o loop <\/span><i><span style=\"font-weight: 400;\">foreach<\/span><\/i><span style=\"font-weight: 400;\"> no PowerShell, siga esta sintaxe:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">foreach ($item in $collection) { # Your code here }<\/span><br \/>\n<span style=\"font-weight: 400;\">Neste exemplo, o loop percorre cada item da vari\u00e1vel <span style=\"font-family: 'courier new', courier, monospace;\">$collection<\/span>, e voc\u00ea acessa cada item pela vari\u00e1vel <span style=\"font-family: 'courier new', courier, monospace;\">$item<\/span> dentro do loop.<\/span><br \/>\n<strong>OBSERVA\u00c7\u00c3O: <\/strong>o PowerShell tem tanto o loop <em>foreach<\/em> quanto o cmdlet ForEach-Object. O primeiro carrega a cole\u00e7\u00e3o inteira na mem\u00f3ria antes de processar, o que \u00e9 r\u00e1pido com arrays em mem\u00f3ria, mas pode consumir muita mem\u00f3ria em conjuntos de dados muito grandes. J\u00e1 o cmdlet aceita entrada pelo pipeline e processa um item por vez, o que o torna ideal para transmitir grandes volumes de dados.<\/p>\n<h3>Sintaxe e uso do <strong>loop <i>while<\/i><\/strong> no PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">O loop <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> do PowerShell serve para repetir um conjunto de instru\u00e7\u00f5es enquanto determinada condi\u00e7\u00e3o for verdadeira. Ele verifica a condi\u00e7\u00e3o antes de cada itera\u00e7\u00e3o e sai do loop quando ela se torna falsa.<\/span><br \/>\n<span style=\"font-weight: 400;\">Para usar o loop <\/span><i><span style=\"font-weight: 400;\">while<\/span><\/i><span style=\"font-weight: 400;\"> no PowerShell, siga esta sintaxe:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">while ($condition) { # Your code here }<\/span><br \/>\n<span style=\"font-weight: 400;\">Neste exemplo, o loop continua em execu\u00e7\u00e3o enquanto <span style=\"font-family: 'courier new', courier, monospace;\">$condition<\/span> for verdadeira.<\/span><\/p>\n<h3>Sintaxe e uso do <strong>loop <\/strong><i>do <strong>while<\/strong><\/i> no PowerShell<\/h3>\n<p>O <em>do until<\/em> \u00e9 um loop de p\u00f3s-teste: executa primeiro o bloco de instru\u00e7\u00f5es e s\u00f3 depois avalia a condi\u00e7\u00e3o. Ele continua rodando at\u00e9 a condi\u00e7\u00e3o se tornar verdadeira, ao contr\u00e1rio do loop <em>do while<\/em>. Executa um conjunto de instru\u00e7\u00f5es at\u00e9 que determinada condi\u00e7\u00e3o se torne verdadeira. Ou seja, o loop sempre roda pelo menos uma vez, mesmo que a condi\u00e7\u00e3o j\u00e1 seja verdadeira no in\u00edcio.<\/p>\n<p><span style=\"font-weight: 400;\">Para usar o loop <\/span><i><span style=\"font-weight: 400;\">do while<\/span><\/i><span style=\"font-weight: 400;\"> no PowerShell, siga esta sintaxe:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">do { # Your code here } while ($condition)<\/span><br \/>\n<span style=\"font-weight: 400;\">Neste exemplo, o loop executa o bloco de c\u00f3digo pelo menos uma vez e segue em execu\u00e7\u00e3o enquanto <span style=\"font-family: 'courier new', courier, monospace;\">$condition<\/span> for verdadeira.<\/span><\/p>\n<h3>Sintaxe e uso do <strong>loop <i>do until<\/i><\/strong> no PowerShell<\/h3>\n<p><span style=\"font-weight: 400;\">O loop <\/span><i><span style=\"font-weight: 400;\">do until<\/span><\/i><span style=\"font-weight: 400;\"> do PowerShell \u00e9 o oposto do loop <\/span><i><span style=\"font-weight: 400;\">do while<\/span><\/i><span style=\"font-weight: 400;\">. Executa um conjunto de instru\u00e7\u00f5es at\u00e9 que determinada condi\u00e7\u00e3o se torne verdadeira. Ou seja, o loop sempre roda pelo menos uma vez, mesmo que a condi\u00e7\u00e3o j\u00e1 seja verdadeira no in\u00edcio.<\/span><br \/>\n<span style=\"font-weight: 400;\">Para usar o loop <\/span><i><span style=\"font-weight: 400;\">do until<\/span><\/i><span style=\"font-weight: 400;\"> no PowerShell, siga esta sintaxe:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">do { # Your code here } until ($condition)<\/span><br \/>\n<span style=\"font-weight: 400;\">Neste exemplo, o loop executa o bloco de c\u00f3digo pelo menos uma vez e segue em execu\u00e7\u00e3o at\u00e9 que <span style=\"font-family: 'courier new', courier, monospace;\">$condition<\/span> se torne verdadeira.<\/span><\/p>\n<h2>Como repetir um comando no PowerShell?<\/h2>\n<p><span style=\"font-weight: 400;\">Agora que j\u00e1 conhece o b\u00e1sico de como fazer loops no PowerShell, vamos um passo al\u00e9m. Uma das formas mais simples de repetir um comando \u00e9 usar uma estrutura de loop e indicar quantas vezes o comando deve ser executado.<\/span><br \/>\n<span style=\"font-weight: 400;\">Por exemplo, para repetir um comando 5 vezes, use um loop <\/span><i><span style=\"font-weight: 400;\">for<\/span><\/i><span style=\"font-weight: 400;\"> assim:<\/span><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">for ($i = 0; $i -lt 5; $i++) { # Your command here }<\/span><br \/>\n<span style=\"font-weight: 400;\">Isso executa o comando cinco vezes: a vari\u00e1vel <span style=\"font-family: 'courier new', courier, monospace;\">$i<\/span> aumenta uma unidade a cada itera\u00e7\u00e3o e o loop para quando o valor chega a cinco.<\/span><\/p>\n<h2>Exemplos de loops no PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">Veja alguns exemplos b\u00e1sicos de como usar loops no PowerShell para automatizar tarefas e ganhar efici\u00eancia nos scripts.<\/span><\/p>\n<h3>Exemplo 1: imprimir os n\u00fameros de 1 a 10 com um loop <i>for<\/i><\/h3>\n<p><span style=\"font-family: 'courier new', courier, monospace;\">for ($i = 1; $i -le 10; $i++) { Write-Output $i }<\/span><br \/>\n<span style=\"font-weight: 400;\">Isso imprime os n\u00fameros de 1 a 10 no console do PowerShell.<\/span><\/p>\n<h3>Exemplo 2: percorrer um array com um loop <i>foreach<\/i><\/h3>\n<p><code><span style=\"font-family: 'courier new', courier, monospace;\">$fruits = @(\"apple\", \"banana\", \"orange\") <\/span><\/code><br \/>\n<span style=\"font-family: 'courier new', courier, monospace;\">foreach ($fruit in $fruits) { Write-Output $fruit }<\/span><br \/>\n<span style=\"font-weight: 400;\">Isso percorre cada item do array <span style=\"font-family: 'courier new', courier, monospace;\">$fruits<\/span> e imprime no console do PowerShell.<\/span><\/p>\n<h2>Outras formas de automatizar com o PowerShell<\/h2>\n<p><span style=\"font-weight: 400;\">Al\u00e9m dos loops, <\/span><a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/automacao-com-powershell\/\"><span style=\"font-weight: 400;\">o PowerShell oferece muitas outras formas de automatizar tarefas<\/span><\/a><span style=\"font-weight: 400;\"> e ganhar efici\u00eancia nos scripts. Veja alguns exemplos:<\/span><\/p>\n<ol>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><b>Fun\u00e7\u00f5es:<\/b><span style=\"font-weight: 400;\"> \u00e9 poss\u00edvel definir fun\u00e7\u00f5es reutiliz\u00e1veis no PowerShell para encapsular um conjunto de instru\u00e7\u00f5es e us\u00e1-las sempre que precisar.<\/span><\/li>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><b>M\u00f3dulos:<\/b><span style=\"font-weight: 400;\"> os m\u00f3dulos do PowerShell permitem empacotar e compartilhar scripts, facilitando o reaproveitamento de c\u00f3digo entre projetos.<\/span><\/li>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><b>Pipelines: <\/b><span style=\"font-weight: 400;\">os pipelines do PowerShell encadeiam comandos, passando a sa\u00edda de um como entrada do outro, o que simplifica muito tarefas complexas.<\/span><\/li>\n<li aria-level=\"1\" style=\"font-weight: 400;\"><b>Tarefas agendadas: <\/b><span style=\"font-weight: 400;\">d\u00e1 para usar o PowerShell para criar tarefas agendadas que executam scripts em hor\u00e1rios ou intervalos definidos.<\/span><\/li>\n<\/ol>\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Comece com scripts prontos de PowerShell que reduzem o trabalho manual.<\/p>\n<p style=\"text-align: center;\">Explore a biblioteca do <a href=\"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/\" class=\"waffle-rich-text-link\" rel=\"noopener\" target=\"_blank\">NinjaOne Script Hub<\/a>.<\/p>\n<\/div>\n<h2>Ganhe efici\u00eancia nos scripts com loops no PowerShell<\/h2>\n<p>Saber como fazer um loop no PowerShell traz ganhos reais de produtividade e deixa seus scripts mais eficientes. Ao dominar a sintaxe e o uso de cada tipo de loop, fica f\u00e1cil escolher o mais adequado para cada cen\u00e1rio. Incorporar essas t\u00e9cnicas ao fluxo de trabalho de scripts do PowerShell economiza incont\u00e1veis horas de trabalho do departamento de TI.<\/p>\n<p>Aprender a fazer loops no PowerShell \u00e9 s\u00f3 uma das t\u00e9cnicas para automatizar tarefas repetitivas com o PowerShell. Se quiser mais ideias para aumentar a produtividade e a efici\u00eancia, confira nosso guia sobre <a href=\"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/automatizar-as-instalacoes-do-office-365\/\">como automatizar a instala\u00e7\u00e3o do Office 365 com o PowerShell<\/a> ou nossa lista das <a href=\"https:\/\/www.ninjaone.com\/pt-br\/blog\/top-repetitive-helpdesk-tasks-to-automate\/\">10 principais tarefas repetitivas de helpdesk para automatizar<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O PowerShell \u00e9 uma linguagem de script poderosa que permite automatizar tarefas no computador. Administradores de sistemas e profissionais de TI podem usar o PowerShell para ganhar efici\u00eancia de TI e produtividade executando comandos pela interface de linha de comando da ferramenta. Ele tamb\u00e9m permite que t\u00e9cnicos de TI repitam um conjunto de instru\u00e7\u00f5es v\u00e1rias [&hellip;]<\/p>\n","protected":false},"author":35,"featured_media":194659,"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":"","_lmt_disable":"","footnotes":""},"categories":[3025],"tags":[],"class_list":["post-927026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-ops"],"acf":[],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/posts\/927026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/comments?post=927026"}],"version-history":[{"count":1,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/posts\/927026\/revisions"}],"predecessor-version":[{"id":927027,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/posts\/927026\/revisions\/927027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media\/194659"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media?parent=927026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/categories?post=927026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/tags?post=927026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}