Functions/Get-FabricWorkspaceUsers.ps1
<# .SYNOPSIS Retrieves the users of a workspace. .DESCRIPTION The Get-FabricWorkspaceUsers function retrieves the users of a workspace. It supports multiple aliases for flexibility. .PARAMETER WorkspaceId The ID of the workspace. This is a mandatory parameter for the 'WorkspaceId' parameter set. .PARAMETER Workspace The workspace object. This is a mandatory parameter for the 'WorkspaceObject' parameter set and can be piped into the function. .EXAMPLE Get-FabricWorkspaceUsers -WorkspaceId "your-workspace-id" This example retrieves the users of a workspace given the workspace ID. .EXAMPLE $workspace | Get-FabricWorkspaceUsers This example retrieves the users of a workspace given a workspace object. .NOTES The function defines parameters for the workspace ID and workspace object. If the parameter set name is 'WorkspaceId', it retrieves the workspace object. It then makes a GET request to the PowerBI API to retrieve the users of the workspace and returns the 'value' property of the response, which contains the users. #> # This function retrieves the users of a workspace. function Get-FabricWorkspaceUsers { # Define aliases for the function for flexibility. [Alias("Get-FabWorkspaceUsers")] # Define parameters for the workspace ID and workspace object. param( [Parameter(Mandatory = $true, ParameterSetName = 'WorkspaceId')] [string]$WorkspaceId, [Parameter(Mandatory = $true, ParameterSetName = 'WorkspaceObject', ValueFromPipeline = $true )] $Workspace ) process { # If the parameter set name is 'WorkspaceId', retrieve the workspace object. if ($PSCmdlet.ParameterSetName -eq 'WorkspaceId') { $workspace = Get-PowerBIWorkspace -Id $WorkspaceId } # Make a GET request to the PowerBI API to retrieve the users of the workspace. # The function returns the 'value' property of the response, which contains the users. return (Invoke-PowerBIRestMethod -Method get -Url ("groups/$($workspace.Id)/users") | ConvertFrom-Json).value } } |