用于删除 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 循环遍历输入到分配给$selectionRead-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 Foundation for Mono

使用 Team 的附件按钮将文件上传到 bot 应用程序时,Microsoft Teams 返回错误

Microsoft Visual Studio Team System 2008 初步印象

从SQL Server bak文件还原Team Foundation Server

在 MSBuild、Team Build 和 TFS 中使用 PFX 文件对程序集进行签名

免费在线 Team Foundation Server [关闭]