需要帮助在 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)
}
我是 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)
}