gpt4 book ai didi

powershell - 如果出现错误,请跳至Powershell中的下一个(Microsoft Teams)

转载 作者:行者123 更新时间:2023-12-03 07:51:45 30 4
gpt4 key购买 nike

晚上好,
我已经在Powershell中编写了一段代码,将.csv文件作为输入,并创建了一个新代码。
Microsoft Team与.csv中的 channel 和用户
该脚本正在运行,但我真的不喜欢将所有者添加到团队的那一部分。我在.csv文件中收到ID列表,但我只能用mailadres添加所有者。这将是一个简单的循环,但是用户连接到3个可能的域。
我的目标是编写一段代码,将@ domain1.nl添加到我在.csv中获得的ID,然后尝试添加用户。如果由于该地址不存在而收到错误消息,它将尝试添加具有@ domain2.nl和@ domain3.nl的所有者。如果没有任何效果,则应给写主机显示“必须添加此域”
以下是一段有效的代码,但我认为这不是实现它的最佳方法,可以对其进行改进。

    #Adding the owners to the Team
if ($d.ID) {
$Error.Clear()
try {
$ID = $d.ID + "@domain1.nl"
Add-TeamUser -GroupId $GroupID -User $ID -Role Owner
} catch { "Error occured" }
if ($Error) {
$Error.Clear()
try {
$ID = $d.ID + "@domain2.nl"
Add-TeamUser -GroupId $GroupID -User $ID -Role Owner
} catch { "Error occured" }
if ($Error) {
$Error.Clear()
try {
$ID = $d.ID + "@domain3.nl"
Add-TeamUser -GroupId $GroupID -User $ID -Role Owner
} catch { "Error occured" }
if ($Error) {
Write-Host "This domain has to be added to the code"
}
}
}
}


提前谢谢了!

最佳答案

try循环内使用catch/foreach:

$ok = $false
foreach ($domain in '@domain1.nl', '@domain2.nl', '@domain3.nl') {
try {
Add-TeamUser -GroupId $GroupID -User ($d.ID + $domain) -Role Owner
$ok = $true
} catch {
Write-Warning "Error occurred with domain $domain."
}
if ($ok) { break }
}

if (-not $ok) {
Write-Error 'This domain has to be added to the code'
}

关于powershell - 如果出现错误,请跳至Powershell中的下一个(Microsoft Teams),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64776763/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com