gpt4 book ai didi

powershell - New-UnifiedGroup 不适用于 ErrorAction

转载 作者:行者123 更新时间:2023-12-03 00:05:59 26 4
gpt4 key购买 nike

我正在使用下面的代码在 O365 中使用 powershell 创建一个公共(public)组:

Try
{
New-UnifiedGroup -AccessType Public -Alias $groupIdentity -DisplayName $groupDisplayName -Owner $smtpAddress
}
Catch
{
# Some exception handling statements
}


但我认为在失败的情况下无法捕捉到它。
经过一番调查,我知道了 -ErrorAction stop需要在命令末尾使用它才能到达捕获。
但是当我执行以下操作时:
New-UnifiedGroup -AccessType Public -Alias $groupIdentity -DisplayName $groupDisplayName -Owner $smtpAddress -ErrorAction stop

这失败并出现以下错误:
The "ErrorAction" parameter can't be used on the "New-UnifiedGroup" cmdlet because it isn't present in the role definition for the current user. Check the management roles assigned to you, and try again.

但我又有 Global Admin分配给我的角色,所以我不知道我做错了什么。

最佳答案

您收到的错误是您无权使用该特定参数运行该命令。需要先分配权限,然后才能运行此 cmdlet。

尽管本主题列出了 cmdlet 的所有参数,但如果某些参数未包含在分配给您的权限中,您可能无权访问它们。要查找在您的组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet .

要检查您是否能够使用特定参数运行任何 cmdlet,您可以使用以下脚本:

# Define what you're looking for
$user = 'joey@contoso.com'
$cmdlet = 'New-UnifiedGroup'
$param = 'ErrorAction'

# Find all your assignments
$assignments = Get-ManagementRoleAssignment -RoleAssignee $user -Delegating $false

# Find cmdlets you can run and filter only the one you specified
$assignments.role | Foreach-Object {Get-ManagementRoleEntry "$_\*" | Where-Object {$_.Name -eq $cmdlet -and $_.Parameters -contains $param}}

在最后一行中,我们正在迭代分配给您的所有角色并检查角色条目。它们的格式是 RoleName\CmdletName所以我们使用 *(通配符)来获取所有信息。在最后一个管道之后,您只使用 Where-Object 过滤您想要的结果。 cmdlet。

关于powershell - New-UnifiedGroup 不适用于 ErrorAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61473366/

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