需要帮助在 PowerShell 中创建一个 Do-While 循环

Need help to create a Do-While loop in PowerShell

我是 PowerShell 和编码的新手,但我需要创建一个 do-while 循环来完成这里的一些任务。

我需要 运行 这个循环来检测特定用户是否正在从 Azure AD 中删除。如果是,恢复用户。

我知道如何通过get-msoluser -returnDeteltedUsers

列出已删除的用户

我也知道如何通过Restore-MsolUser -UserPrincipalName "user's email"

恢复用户

但是我需要有关此 if 语句的帮助。无论用户是否被删除,我如何要求它 return true 或 false。

非常感谢!

我同意@santisq,do-while 不适用于这种情况。

直接使用foreach循环语句即可。

$specificUser = "{specificUser}"

$deletedusers = get-msoluser -returndeletedusers

foreach($deleteduser in $deletedusers){
    if($specificUser -eq $deleteduser.UserPrincipalName){
        Restore-MsolUser -UserPrincipalName $specificUser
    }
}

更新:

用 do-while 设置定时器:

$specificUser = "{specificUser}"

$deleteduserUPN = New-Object System.Collections.ArrayList

$deletedusers = get-msoluser -returndeletedusers
    foreach($deleteduser in $deletedusers){
        $deleteduserUPN.Add($deleteduser.UserPrincipalName)
    }

if($specificUser -in $deleteduserUPN){
    
    do {

        Restore-MsolUser -UserPrincipalName $specificUser

        start-sleep -seconds 30

        $deleteduserUPN.Clear()
        $deletedusers = get-msoluser -returndeletedusers
        foreach($deleteduser in $deletedusers){
            $deleteduserUPN.Add($deleteduser.UserPrincipalName)
        }

    } while ($specificUser -in $deleteduserUPN)
    
}