Comando Powershell para reiniciar / recarregar um script dentro da instrução Else

1

Estou criando um script powershell para reparar ou reinstalar um cliente remotamente com base na entrada de usuários (exemplo de script básico abaixo):

$env:COMPUTERNAME = Read-Host 'Please enter hostname'

$RepairReinstall = Read.Host '
1: Repair Client
2: Re-install Client

Answer'

If (RepairReinstall -eq 1) {

Write-Host "

Repair Started" 

}

If (RepairReinstall -eq 2) {

Write-Host "

Re-install Started" 

}

Else {

Write-Host "

[WARNING] Please select whether you'd like to repair or re-install the client"

}

Como posso recarregar / reiniciar o script na declaração Else {} ; de preferência, gostaria de reiniciar apenas a partir do prompt $ RepairReinstall em vez de solicitar novamente o valor de $ env: COMPUTERNAME .

Eu pesquisei através do SuperUser, ServerFault e Google, mas não consigo encontrar um comando adequado para isso. Qualquer ajuda / conselho é apreciado.

    
por Joe S 11.01.2015 / 15:56

1 resposta

2

O que você precisa é de um do { ... } while( ... ) loop:

$env:COMPUTERNAME = Read-Host 'Please enter hostname'

Do {

    $RepairReinstall = Read.Host '
    1: Repair Client
    2: Re-install Client

    Answer'

    If (RepairReinstall -eq 1) {

        Write-Host "

        Repair Started" 

        break

    }

    If (RepairReinstall -eq 2) {

        Write-Host "

        Re-install Started" 

        break

    }

    Else {

        Write-Host "

        [WARNING] Please select whether you'd like to repair or re-install the client"

    }
}
While ($true)

Isso fará um loop em seu programa até que qualquer uma das duas instruções break seja executada

    
por 11.01.2015 / 16:49

Tags