2

我在 C# 中有一个配置引擎,可以使用 MS Graph 创建新的 MS 团队。每当将用户添加到团队(在团队客户端内)时,他都会收到 2 封邀请邮件 - 一封给 O365 组,一封给团队本身。

O365 组邮件已通过从 PnP 核心统一组实用程序获取的自定义代码 (ResourceBehaviorOptions -> WelcomeEmailDisabled) 禁用:

class ExtendedO365Group : Microsoft.Graph.Group
{
    [JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore, PropertyName = "resourceBehaviorOptions")]
    public string[] ResourceBehaviorOptions { get; set; }
    [JsonProperty("owners@odata.bind", NullValueHandling = NullValueHandling.Ignore)]
    public string[] OwnersODataBind { get; set; }
    [JsonProperty("members@odata.bind", NullValueHandling = NullValueHandling.Ignore)]
    public string[] MembersODataBind { get; set; }
}

[...]

var newGroup = new ExtendedO365Group
{
    DisplayName = displayName,
    Description = description,
    MailNickname = mailNickname,
    MailEnabled = true,
    SecurityEnabled = false,
    Visibility = isPrivate == true ? "Private" : "Public",
    GroupTypes = new List<string> { "Unified" },
    ResourceBehaviorOptions = (disableWelcomeMail ? new string[] { "WelcomeEmailDisabled" } : null)
};

受此图表问题的启发。

然后稍后将团队团队添加到组中,但似乎没有设置或属性来禁用团队内部的邮件。

我也知道这个 PowerShell 命令,它做同样的事情 afaik

Set-UnifiedGroup -Identity "groupname" -UnifiedGroupWelcomeMessageEnable:$false

并尝试禁用邮件

MailEnabled = false,

但是所有这一切只禁用了从 O365 组发送的第一封邮件,主题为“用户 xy 已将您添加到组 yz”(大致翻译自德语)和 Outlook 组的链接。它不会禁用来自 Teams 的第二封邮件“您已被添加到 Microsoft Teams 中的团队”,其中包含在 Teams 客户端中打开它的链接。

是否有一些新的图形属性或 C# 命令将禁用所有邀请邮件?如果没有其他工作,我会尝试集成一个 PowerShell 命令,如果有一个工作。

编辑:看起来这确实是这个 Uservoice和接受的答案中看到的错误。

4

2 回答 2

0

您似乎发现了我们现有 API 中的一个缺口。我可以确认,我们目前不允许在桌面/Web 客户端以及图形 API 中禁止来自 Microsoft Teams 的“已添加到团队”电子邮件。

我们已注意到此请求并了解您尝试设计的场景。目前,我们想请您在此 UserVoice 中分享此反馈,以帮助我们更好地优先考虑在未来版本中添加此功能。

https://microsoftteams.uservoice.com/forums/555103-public/suggestions/35391220-make-unifiedgroupwelcomemessageenabled-work-for-te

干杯-Phecda Louie(Microsoft Teams PM)

于 2019-10-16T18:17:26.223 回答
0

创建统一组时,您可以使用参数“ UnifiedGroupWelcomeMessageEnabled”禁用欢迎电子邮件 - 默认情况下启用。因此,您可以先创建统一组并将其设置为 $false,然后使用 Teams PowerShell cmdlet 将这些组转换为团队

New-Team -Group <GroupId of the group you just created>

请查看SetUnifiedGroup了解更多信息。

于 2019-10-11T06:01:11.637 回答