我在这个PowerShell脚本中使用while语句有什么问题?

时间:2018-03-07 09:50:26

标签: powershell do-loops

do {
  $user = $null
  Write-Host "Please enter your credentials in order to connect you to the Azure AD."
  $user = Get-Credential

  if ($user -eq $null) {
    Write-Host "Bad credentials. Please retry."
  }
} while (!($user -eq $null))

该部分脚本将允许用户输入其凭据。 我想检查用户是否输入了一些内容。

问题是,如果用户没有输入内容,脚本运行良好,用户被迫输入凭证。

但是当我输入内容时,我没有任何错误,但脚本循环!它不想退出循环。

我哪里错了?

我也试过

while ($user -eq $true)

但它也不起作用。即使他没有输入某些东西,用户也会过去一段时间。

1 个答案:

答案 0 :(得分:2)

只要用户提供凭据($user不是$null),您的循环就会继续。只要用户提供凭据($user $null),您就想循环播放。

do {
    ...
} while ($user -eq $null)