diff --git a/module/EntraBeta/customizations/Add-EntraBetaScopedRoleMembership.ps1 b/module/EntraBeta/customizations/Add-EntraBetaScopedRoleMembership.ps1 index dfce8f5dd..39f57aa6d 100644 --- a/module/EntraBeta/customizations/Add-EntraBetaScopedRoleMembership.ps1 +++ b/module/EntraBeta/customizations/Add-EntraBetaScopedRoleMembership.ps1 @@ -14,7 +14,7 @@ [Parameter(ParameterSetName = "InvokeByDynamicParameters")] [System.String] $AdministrativeUnitObjectId, [Parameter(ParameterSetName = "InvokeByDynamicParameters")] - [Microsoft.Open.AzureAD.Model.RoleMemberInfo] $RoleMemberInfo, + [Microsoft.Open.MSGraph.Model.MsRoleMemberInfo] $RoleMemberInfo, [Alias('ObjectId')] [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] [System.String] $AdministrativeUnitId @@ -22,7 +22,6 @@ PROCESS { $params = @{} $customHeaders = New-EntraBetaCustomHeaders -Command $MyInvocation.MyCommand - if($null -ne $PSBoundParameters["ErrorAction"]) { $params["ErrorAction"] = $PSBoundParameters["ErrorAction"] @@ -75,7 +74,7 @@ { $TmpValue = $PSBoundParameters["RoleMemberInfo"] $Value = @{ - id = ($TmpValue).ObjectId + id = ($TmpValue).Id } | ConvertTo-Json $params["RoleMemberInfo"] = $Value } diff --git a/module/EntraBeta/customizations/Types.ps1 b/module/EntraBeta/customizations/Types.ps1 index a2ff0a981..d1bc168f7 100644 --- a/module/EntraBeta/customizations/Types.ps1 +++ b/module/EntraBeta/customizations/Types.ps1 @@ -85,5 +85,8 @@ public System.String Origin; public System.String Value; "@ +"Microsoft.Open.MSGraph.Model.MsRoleMemberInfo"=@" + public System.String Id; +"@ } diff --git a/module/docs/entra-powershell-beta/Microsoft.Graph.Entra.Beta/Add-EntraBetaScopedRoleMembership.md b/module/docs/entra-powershell-beta/Microsoft.Graph.Entra.Beta/Add-EntraBetaScopedRoleMembership.md index 0abed3e38..aa2665af8 100644 --- a/module/docs/entra-powershell-beta/Microsoft.Graph.Entra.Beta/Add-EntraBetaScopedRoleMembership.md +++ b/module/docs/entra-powershell-beta/Microsoft.Graph.Entra.Beta/Add-EntraBetaScopedRoleMembership.md @@ -45,17 +45,12 @@ For delegated scenarios, the calling user needs at least the Privileged Role Adm ```powershell Connect-Entra -Scopes 'RoleManagement.ReadWrite.Directory' -$User = Get-EntraBetaUser -SearchString 'MarkWood' -$Role = Get-EntraBetaDirectoryRole -Filter "DisplayName eq ''" -$Unit = Get-EntraBetaAdministrativeUnit -Filter "DisplayName eq ''" -$RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo -$RoleMember.ObjectId = $User.ObjectId -$params = @{ - AdministrativeUnitId = $Unit.ObjectId - RoleObjectId = $Role.ObjectId - RoleMemberInfo = $RoleMember -} -Add-EntraBetaScopedRoleMembership @params +$user = Get-EntraBetaUser -UserId 'SawyerM@contoso.com' +$role = Get-EntraBetaDirectoryRole -Filter "DisplayName eq 'Helpdesk Administrator'" +$administrativeUnit = Get-EntraBetaAdministrativeUnit -Filter "DisplayName eq 'Pacific Administrative Unit'" +$roleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo +$roleMember.Id = $user.Id +Add-EntraBetaScopedRoleMembership -AdministrativeUnitId $administrativeUnit.Id -RoleObjectId $role.Id -RoleMemberInfo $roleMember ``` ```Output diff --git a/test/module/EntraBeta/Add-EntraBetaScopedRoleMembership.Tests.ps1 b/test/module/EntraBeta/Add-EntraBetaScopedRoleMembership.Tests.ps1 index f02604332..9f3bb5370 100644 --- a/test/module/EntraBeta/Add-EntraBetaScopedRoleMembership.Tests.ps1 +++ b/test/module/EntraBeta/Add-EntraBetaScopedRoleMembership.Tests.ps1 @@ -31,8 +31,8 @@ BeforeAll { Describe "Add-EntraBetaScopedRoleMembership" { Context "Test for Add-EntraBetaScopedRoleMembership" { It "Should add a user to the specified role within the specified administrative unit" { - $RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo - $RoleMember.ObjectId = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" + $RoleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo + $RoleMember.Id = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" $result = Add-EntraBetaScopedRoleMembership -AdministrativeUnitId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleObjectId "135c35cd-85c2-4543-b86c-8f6dbedea4cf" -RoleMemberInfo $RoleMember $result | Should -Not -BeNullOrEmpty $result.Id | Should -Be "zTVcE8KFQ0W4bI9tvt6kz-5AOA62QHJLgnvAbh9Z0r7uQTWi6U_yTLYoEC66749-U" @@ -42,8 +42,8 @@ Describe "Add-EntraBetaScopedRoleMembership" { Should -Invoke -CommandName New-MgBetaDirectoryAdministrativeUnitScopedRoleMember -ModuleName Microsoft.Graph.Entra.Beta -Times 1 } It "Should add a user to the specified role within the specified administrative unit with alias" { - $RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo - $RoleMember.ObjectId = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" + $RoleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo + $RoleMember.Id = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" $result = Add-EntraBetaScopedRoleMembership -ObjectId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleObjectId "135c35cd-85c2-4543-b86c-8f6dbedea4cf" -RoleMemberInfo $RoleMember $result | Should -Not -BeNullOrEmpty $result.Id | Should -Be "zTVcE8KFQ0W4bI9tvt6kz-5AOA62QHJLgnvAbh9Z0r7uQTWi6U_yTLYoEC66749-U" @@ -71,8 +71,8 @@ Describe "Add-EntraBetaScopedRoleMembership" { { Add-EntraBetaScopedRoleMembership -AdministrativeUnitId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleMemberInfo "" } | Should -Throw "Cannot process argument transformation on parameter 'RoleMemberInfo'*" } It "Result should contain Alias properties"{ - $RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo - $RoleMember.ObjectId = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" + $RoleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo + $RoleMember.Id = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" $result = Add-EntraBetaScopedRoleMembership -AdministrativeUnitId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleObjectId "135c35cd-85c2-4543-b86c-8f6dbedea4cf" -RoleMemberInfo $RoleMember $result.ObjectId | should -Be "zTVcE8KFQ0W4bI9tvt6kz-5AOA62QHJLgnvAbh9Z0r7uQTWi6U_yTLYoEC66749-U" $result.RoleObjectId | should -Be "cccccccc-85c2-4543-b86c-cccccccccccc" @@ -91,8 +91,8 @@ Describe "Add-EntraBetaScopedRoleMembership" { $params.AdministrativeUnitId1 | Should -Be "0e3840ee-40b6-4b72-827b-c06e1f59d2be" } It "Should contain RoleId in parameters when passed RoleObjectId to it" { - $RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo - $RoleMember.ObjectId = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" + $RoleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo + $RoleMember.Id = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" $result = Add-EntraBetaScopedRoleMembership -AdministrativeUnitId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleObjectId "135c35cd-85c2-4543-b86c-8f6dbedea4cf" -RoleMemberInfo $RoleMember $params = Get-Parameters -data $result.Parameters @@ -101,8 +101,8 @@ Describe "Add-EntraBetaScopedRoleMembership" { It "Should contain 'User-Agent' header" { $userAgentHeaderValue = "PowerShell/$psVersion EntraPowershell/$entraVersion Add-EntraBetaScopedRoleMembership" $userAgentHeaderValue = "PowerShell/$psVersion EntraPowershell/$entraVersion Add-EntraBetaScopedRoleMembership" - $RoleMember = New-Object -TypeName Microsoft.Open.AzureAD.Model.RoleMemberInfo - $RoleMember.ObjectId = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" + $RoleMember = New-Object -TypeName Microsoft.Open.MSGraph.Model.MsRoleMemberInfo + $RoleMember.Id = "a23541ee-4fe9-4cf2-b628-102ebaef8f7e" Add-EntraBetaScopedRoleMembership -AdministrativeUnitId "0e3840ee-40b6-4b72-827b-c06e1f59d2be" -RoleObjectId "135c35cd-85c2-4543-b86c-8f6dbedea4cf" -RoleMemberInfo $RoleMember