用于删除 Microsoft Team 的 Powershell 脚本
Posted
技术标签:
【中文标题】用于删除 Microsoft Team 的 Powershell 脚本【英文标题】:Powershell script to delete Microsoft Team 【发布时间】:2022-01-11 00:54:04 【问题描述】:我正在编写一个脚本,以使用 remove-team 删除租户中的 Microsoft 团队。如何将 get-team 的输出放入菜单选项中,供用户选择要删除的团队?
我是否需要将所有团队放在一个数组中,只需选择移除团队需要的 ObjectID?我从以下开始。我可以输入 $teams[0,1] 并显示前两个团队。
我希望用户有如下菜单选项。
-
团队 1
团队 2
团队 3
请输入您要删除的团队编号
$teams = Get-Team
foreach ( $team in $teams)
【问题讨论】:
你能告诉我们你到目前为止得到了什么吗?我没有可用的这些 cmdlet,因此很难提供帮助。除了在帖子中更新您的代码之外,您还可以举一个示例来说明预期的输出应该是什么? 虽然不多,但我加了。 @AbrahamZinala 【参考方案1】:您可以创建一个for
循环来遍历团队的集合,并为其对应的索引号分配一个数字:
$Teams = Get-Team
for ($i = 0; $i -lt $Teams.Count; $i++)
"0: 1" -f $i, $Teams[$i].DisplayName
# multiple can be selected if comman seperated
$Selection = (Read-Host -Prompt "Select Team(s) to remove").Split(',').Trim()
foreach ($number in $Selection)
$Teams[$number]
#Remove-Team -GroupId $Teams[$number].GroupID
<# Output
0: TeamsOne
1: TeamsTwo
#>
剩下要做的就是提示要删除的团队数量并使用索引号重新选择它。
使用了-f
字符串格式 运算符,因为它应该允许您将$i
的当前迭代分配给choice 编号,以及团队;给人一种选择的感觉。
使用.Split()
方法,您可以进行多项选择,因为它用逗号分隔。
最后,使用foreach
循环遍历输入到分配给$selection
的Read-Host
的数字。这为您提供了相同的索引号,该索引号将用于从 $Teams
中选择我们的选项。
免责声明:我的机器上没有安装团队,所以我根据谷歌搜索结果中的一些图片和 cmdlet 上的 MSDocs 进行了分析。
【讨论】:
那行得通。我实际上正在阅读这篇文章 - ***.com/questions/35705021/…。你能解释一下 $i 是什么吗? @Derek,$i
,只是分配了当前索引号$teams
的变量。因此,如果您在$Teams
中有 3 个团队,当您遍历一个数组时,您会从 0 开始,因为数组以基于 0 的索引开始。因此,$i
会随着该循环中的每个对象而增加;即:$i = 0
,然后是$i = 1
,$i = 2
等等...但是,由于$teams
只有 3 个对象输出,并且给定数组从 0 开始,结果只有 0,1,2 ( 实际上是 3)。您也可以在 1 处显示选择,依此类推,但这是您可以搜索的内容;)以上是关于用于删除 Microsoft Team 的 Powershell 脚本的主要内容,如果未能解决你的问题,请参考以下文章
使用 Team 的附件按钮将文件上传到 bot 应用程序时,Microsoft Teams 返回错误
Microsoft Visual Studio Team System 2008 初步印象
从SQL Server bak文件还原Team Foundation Server