【发布时间】:2021-11-01 10:04:24
【问题描述】:
我有一个简短的脚本,它创建一个 PowerBI 工作区、一个 Azure AD 组,最后将此组添加为工作区的管理员。
当我在没有变量的情况下运行这些命令并将工作区 ID 字符串和组 GUID 字符串添加到 Add-PowerBIWorkspaceUser 时,它工作正常。当我使用变量运行命令时,它会中断。
这会起作用
Add-PowerBIWorkspaceUser -Scope Individual -Id myWorkSpaceIDasString -Identifier myIdentifierAsString -AccessRight Admin -PrincipalType Group
这打破了
$workspace = New-PowerBIWorkspace -Name test1
$administrator = New-AzADGroup -DisplayName "test1 admin" -MailNickName "test1_admin"
Add-PowerBIWorkspaceUser -Scope Individual -Id $workspace.id -Identifier $administrator.id -AccessRight Admin -PrincipalType Group -Verbose
命令的详细输出
Add-PowerBIWorkspaceUser:操作返回了无效的状态代码“未找到” 详细:请求 Uri:https://api.powerbi.com/v1.0/myorg/groups/9f97ab99-c144-4abb-9952-009311ecd389/users 详细:状态代码:未找到 (404)
请注意,Write-Host $workspace 和 $administrator 工作正常,并且正在从命令中输出作为字符串的实际 ID。
当运行 Resolve-PowerBIError -Last 这是输出
HistoryId: 101
RequestId : 542a46ef-642a-40c4-8eb7-fe79a9d76c21
Response : Not Found (404): {"error":{"code":"PowerBIEntityNotFound","pbi.error":{"code":"PowerBIEntityNotFound","parameters":{},"details":[],"exceptionCulprit":1}}}
PowerBIErrorInfo :
ResponseDate : Mon, 01 Nov 2021 11:32:01 GMT
RequestMethod : POST
RequestUri : https://api.powerbi.com/v1.0/myorg/groups/d33c94f4-da97-4d85-9433-5c23cff699a3/users
InvocationInfo : {Add-PowerBIWorkspaceUser}
Line : Add-PowerBIWorkspaceUser -Scope Individual -Id $workspace.id -Identifier $administrator.id -AccessRight Admin -PrincipalType Group -Verbose
Position : At line:1 char:1
+ Add-PowerBIWorkspaceUser -Scope Individual -Id $workspace.id -Identif …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
StackTrace : at Microsoft.PowerBI.Api.V2.Groups.AddGroupUserWithHttpMessagesAsync(String groupId, GroupUserAccessRight userDetails, Dictionary`2 customHeaders, CancellationToken cancellationToken)
at Microsoft.PowerBI.Api.V2.GroupsExtensions.AddGroupUserAsync(IGroups operations, String groupId, GroupUserAccessRight userDetails, CancellationToken cancellationToken)
at Microsoft.PowerBI.Api.V2.GroupsExtensions.AddGroupUser(IGroups operations, String groupId, GroupUserAccessRight userDetails)
at Microsoft.PowerBI.Commands.Workspaces.AddPowerBIWorkspaceUser.ExecuteCmdlet()
at Microsoft.PowerBI.Commands.Common.PowerBICmdlet.ProcessRecord()
HistoryId : 101
在我看来,命令中的变量根本没有被替换。我做错了吗?
【问题讨论】:
-
“这个中断”代码在语法上看起来不错,但我注意到错误消息显示了不同的参数(例如
-Id $workspace而不是-Id $workspace.id。你确定你运行的是当前版本你的代码? -
@zett42 绝对。我什至尝试直接在 Powershell 中逐行执行。然而。在对脚本进行了一些小的更改以提高可见性后,我忘记了更新错误。立即更新错误。
标签: powershell powershell-core