Como Obter Argumentos da Linha de Comando no Windows PowerShell
- Definir Parâmetros em Script PowerShell
- Parâmetros Nomeados em Script PowerShell
- Atribuir Valores Padrão a Parâmetros em Script PowerShell
- Parâmetros de Alternância em Script PowerShell
- Parâmetros Mandatórios em Script PowerShell

Nós tratamos argumentos usando a função de parâmetro do Windows PowerShell chamada param()
. A função de parâmetro do Windows PowerShell é um componente fundamental de qualquer script. Um parâmetro é como os desenvolvedores permitem que os usuários do script forneçam entrada em tempo de execução.
Neste artigo, você aprenderá como criar scripts com a função de parâmetro, usá-los e algumas boas práticas para construir parâmetros.
Definir Parâmetros em Script PowerShell
Os administradores podem criar parâmetros para scripts e funções usando a função de parâmetro param()
. Uma função contém um ou mais parâmetros definidos por variáveis.
Hello_World.ps1
:
param(
$message
)
No entanto, para garantir que o parâmetro aceite apenas o tipo de entrada que você precisa, as boas práticas ditam a atribuição de um tipo de dado ao parâmetro com o uso de um bloco de parâmetro [Parameter()]
e enclausurando o tipo de dado com colchetes []
antes da variável.
Hello_World.ps1
:
param(
[Parameter()]
[String]$message
)
No exemplo Hello_World.ps1
acima, a variável message
aceitará um valor passado apenas se o valor fornecido tiver um tipo de dado String
.
Parâmetros Nomeados em Script PowerShell
Uma maneira de usar a função de parâmetro em um script é por meio do nome do parâmetro – esse método é chamado de parâmetros nomeados. Ao chamar um script ou função via parâmetros nomeados, usamos o nome da variável como o nome completo do parâmetro.
Criamos um Hello_World.ps1
e definimos variáveis dentro da função de parâmetro neste exemplo. Lembre-se de que podemos colocar uma ou mais variáveis dentro da função de parâmetro.
Hello_World.ps1
:
param(
[Parameter()]
[String]$message,
[String]$emotion
)
Write-Output $message
Write-Output "I am $emotion"
Podemos então usar os parâmetros nomeados como um argumento ao executar um arquivo .ps1
.
.\Hello_World.ps1 -message 'Hello World!' -emotion 'happy'
Saída:
Hello World!
I am happy
Atribuir Valores Padrão a Parâmetros em Script PowerShell
Podemos pré-atribuir um valor a um parâmetro dando ao parâmetro um valor dentro do script. Então, executar o script sem passar valores da linha de execução aceitará o valor padrão da variável definida dentro do script.
param(
[Parameter()]
[String]$message = "Hello World",
[String]$emotion = "happy"
)
Write-Output $message
Write-Output "I am $emotion"
.\Hello_World.ps1
Saída:
Hello World!
I am happy
Parâmetros de Alternância em Script PowerShell
Outro parâmetro que podemos usar é o parâmetro de alternância definido pelo tipo de dado [switch]
. O parâmetro de alternância é usado para valores binários ou booleanos para indicar true
ou false
.
Hello_World.ps1
:
param(
[Parameter()]
[String]$message,
[String]$emotion,
[Switch]$display
)
if ($display) {
Write-Output $message
Write-Output "I am $emotion"
}
else {
Write-Output "User denied confirmation."
}
Podemos chamar nosso script com o parâmetro do script usando a sintaxe abaixo.
.\Hello_World.ps1 -message 'Hello World!' -emotion 'happy' -display:$false
Saída:
User denied confirmation.
Parâmetros Mandatórios em Script PowerShell
É comum ter um ou mais parâmetros que devem ser usados quando um script é executado. Podemos tornar um parâmetro obrigatório adicionando um atributo Mandatory
dentro do bloco de parâmetro [Parameter()]
.
Hello_World.ps1:
param(
[Parameter(Mandatory)]
[String]$message,
[String]$emotion,
[Switch]$display
)
if ($display) {
Write-Output $message
Write-Output "I am $emotion"
}
else {
Write-Output "User denied confirmation."
}
Ao executar Hello_World.ps1
, o Windows PowerShell não permitirá que o script seja executado e solicitará um valor.
.\Hello_World.ps1
Saída:
cmdlet hello_world.ps1 at command pipeline position 1
Supply values for the following parameters:
message:
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn