Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
Hi All,
I am looking to find out all dataset names that are run in multiple workspaces.
I have 100 workspaces on dedicated capacity and I need to know all workspaces and all datasets that are using it.
I am working in PowerShell.
I know that workspace Name is same as Office365 group so I am able to add my admin account to all workspaces if neede.
What I have up untill now is:
Import-Module azurerm
$clientId = "my-client-id"
function GetAuthToken
{
$adal = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.4\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env:ProgramFiles}\WindowsPowerShell\Modules\AzureRM.profile\5.3.4\Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]::LoadFrom($adal) | Out-Null
[System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$resourceAppIdURI = "https://analysis.windows.net/powerbi/api"
$authority = "https://login.microsoftonline.com/common/oauth2/authorize";
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
$authResult = $authContext.AcquireToken($resourceAppIdURI, $clientID, $redirectUri, "Auto")
return $authResult
}
function get_groups_path($group_id) {
if ($group_id -eq "me") {
return "myorg"
} else {
return "myorg/groups/$group_ID"
}
}
$token = GetAuthToken
$auth_header = @{
'Content-Type'='application/json'
'Authorization'=$token.CreateAuthorizationHeader()
}
and it works for below
$uri = "https://api.powerbi.com/v1.0/myorg/groups/" $all_groups = (Invoke-RestMethod -Uri $uri –Headers $auth_header –Method GET).value
This gives me all workspaces that I have access to and thats OK I am happy so far.
What I cant get over is how to get dataset name in each workspace that I have access to.
Each command I run is comming up with Forbidden access or Not Found.
Anyone hav any idea how to show dataset in workspace other then my?
Solved! Go to Solution.
Hi @Anonymous,
If you'd like to continue with PowerShell, please try this get-powerbidataset. You can just type commands in the PowerShell. Another approach is the rest api getdatasetsingroup that can work with Invoke-RestMethod.
Best Regards,
Dale
Hi @Anonymous,
If you'd like to continue with PowerShell, please try this get-powerbidataset. You can just type commands in the PowerShell. Another approach is the rest api getdatasetsingroup that can work with Invoke-RestMethod.
Best Regards,
Dale
The Power BI Data Visualization World Championships is back! It's time to submit your entry.
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 6 | |
| 4 | |
| 3 | |
| 3 | |
| 2 |