Nota: O seguinte artigo irá ajudá-lo com: Como adicionar indicadores de progresso a scripts do PowerShell
Dê dicas aos usuários e obtenha informações sobre o status de cmdlets e funções executados adicionando barras de progresso aos scripts do PowerShell (PS).
Você se senta, esperando pacientemente. Olhando esperançosamente para uma tela de console enquanto o cursor pisca repetidamente. Você digitou o comando ou executou seu script como fez inúmeras vezes antes e, embora tenha funcionado no ado, desta vez a tela simplesmente permanece lá enquanto o comando é processado em segundo plano, e você ainda está se perguntando se está funcionando . Se ao menos houvesse uma maneira de saber com certeza (dica: existe).
VEJO: Política de resposta a incidentes (TechRepublic )
Quantas vezes esse cenário aconteceu com todos nós? Provavelmente, muitos para contar. A Microsoft considerou importante indicar aos usuários e es o status do progresso quando comandos e scripts são executados, incluindo dois cmdlets para o Microsoft PowerShell (PS). Esses indicadores podem ser integrados a scripts existentes para fornecer algum sobre o status de um processo.
Observação: o objetivo deste artigo é informar o criador de scripts sobre os cmdlets e fornecer uma ideia de como cada um deles pode ser casado com scripts existentes. Como eles são casados e o grau de sucesso dependerá da complexidade do roteiro e do conjunto de habilidades de programação do autor. Como com qualquer coisa relacionada à computação, existem várias maneiras de fazer algo. Você só precisa encontrar o que funciona melhor para você e sua organização.
Write-Verbose
Esse único cmdlet é simples, mas eficaz em fornecer uma atualização de status mínima, geralmente contando com a inclusão de uma única linha no script para cada função sobre a qual você deseja ser atualizado.
Força: Funciona com a maioria dos scripts. Pode ser incluído como uma única linha de código ou como várias linhas de código únicas, uma para cada atualização de status.
Fraqueza: Sua simplicidade também se estende à sua capacidade de saída. Muitas vezes, apenas uma única linha é impressa na tela como atualização de status. Não fornece uma barra de progresso ou porcentagem concluída nativamente.
Uso:
Write-Verbose -Message "Status Update: Command 01 Completed"
Gravação-Progresso
Esse é o método mais robusto e frequentemente preferido de fornecer atualizações para especialistas em PS. Esse método pode ser incluído como algumas linhas de código, agrupado como uma função a ser usada repetidamente em um script ou misturado com variáveis para minimizar a duplicação de código.
Força: A quantidade de informações fornecidas ao usuário ou é o maior benefício deste cmdlet. Ele pode criar uma barra de progresso para mostrar uma porcentagem de conclusão, mesmo para cmdlets múltiplos ou aninhados. A segunda é a capacidade de encapsular isso em uma função para referência em cmdlets futuros ou várias vezes no mesmo script. É especialmente útil para itens em loop, como a execução de processos em vários objetos.
Fraqueza: A maior base de código e flexibilidade tornam isso um pouco mais complexo para integrar com scripts existentes. Dependendo do objetivo do autor, esse cmdlet pode ser um pouco exagerado para alguns casos. O aninhamento por meio de IDs funciona bem, mas, novamente, a complexidade pode prejudicar a funcionalidade de script existente se não for testada completamente.
Uso:
for ($i = 0; $i -le 100; $i++ ) { Write-Progress -Activity "Perform Specific Task" -Id 1 -Status "$i% Complete:" -PercentComplete $i; }