Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
codyrayhoeft
New Member

Trying to gain edit access to dashboard created by deleted user

We have a dashboard that we infrequently access that was created by a former member of our team. When his office 365 account was disabled the dashboard stopped updating. We think that we can get it working again if we get edit access to the dashboard or the workspace it was created in. The account was deleted after 30 days so we can't restore it (we could create a new account with the same email but our hunch is that will not work)

 

Here are a few things that I have thought might help, but I don't know if any of them are possible:

 

  • Is there a way to recreate the user with the original access? If so, I think we can give people edit access to the workspace to solve the problem.
  • Is there a way for the admin to add users to the workspace? If so, I think that would give us edit access to the dashboard
  • Is there a way to export the dashboard and import it into another account? If so, then we would do that and only use the new copy going forward.

 

 Thanks!

3 REPLIES 3
GilbertQ
Super User
Super User

Hi @codyrayhoeft

 

Currently I am fairly certain that creating a new user will not result in restoring the settings, because in the underlying data it uses a GUID (meaning that each user is unique)

 

With regards to your options, I am not 100% sure that any of the options would work. 

 

Is there not anyone else in the organization who has got Edit Access to the App Workspace?

Do you still have the Original PBIX?

 

If you do have the Original PBIX, I would suggest creating a new App Workspace, then adding in an Admin account that has got edit access.

After which if you still have access to the Dashboard, I would then re-create the dashboard in the new App Workspace.

And finally create an App and share that with the required people.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Hi @GilbertQ

 

Bummer, I am fairly sure that nobody has a copy of the PBIX and everybody only has access to view the dashboard. (I presume that there is no way to get a PBIX with our current limited access?)

 

 

Hi @codyrayhoeft

 

You could try and get it working via the API and using PowerShell

 

Below is a script that I tested to download the PBIX file. But I did have access to the App (Group) Workspace.

 

Follow the steps in the script, and you will have to update the following:

  • groupID
  • reportID
  • Username
  • Password
  • File Location from the Out-File
# This sample script calls the Power BI API to progammtically trigger a refresh for the dataset
# It then calls the Power BI API to progammatically to get the refresh history for that dataset
# For full documentation on the REST APIs, see:
# https://msdn.microsoft.com/en-us/library/mt203551.aspx 

# Instructions:
# 1. Install PowerShell (https://msdn.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell) and the Azure PowerShell cmdlets (https://aka.ms/webpi-azps)
# 2. Set up a dataset for refresh in the Power BI service - make sure that the dataset can be 
# updated successfully
# 3. Fill in the parameters below
# 4. Run the PowerShell script



# Parameters - fill these in before running the script!
# =====================================================

# An easy way to get group and dataset ID is to go to dataset settings and click on the dataset
# that you'd like to refresh. Once you do, the URL in the address bar will show the group ID and 
# dataset ID, in the format: 
# app.powerbi.com/groups/{groupID}/settings/datasets/{datasetID} 

$groupID =  "0084cabe-a616-4e19-b516-6896a5429111" # the ID of the group that hosts the dataset. Use "me" if this is your My Workspace
$reportID = "19ce71a0-2ed8-1111-830d-076e65697f11" # the ID of the report that is in the dataset.

# AAD Client ID
# To get this, go to the following page and follow the steps to provision an app
# https://dev.powerbi.com/apps
# To get the sample to work, ensure that you have the following fields:
# App Type: Native app
# Redirect URL: urn:ietf:wg:oauth:2.0:oob
#  Level of access: all dataset APIs
$clientId = "52d741de-cc6a-454e-b6e0-d0c67f892ae3" 

# End Parameters =======================================

# Calls the Active Directory Authentication Library (ADAL) to authenticate against AAD
function GetAuthToken
{
       $adal = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
 
       $adalforms = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\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";
 
        #Authentication Added in here
        #=============================
        $userName = "yourname@domain.com"

        $password = "YourPassword"

        $creds = New-Object “Microsoft.IdentityModel.Clients.ActiveDirectory.UserCredential” -ArgumentList $userName, $password

        $authContext = New-Object “Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext” -ArgumentList $authority

        $authResult = $authContext.AcquireToken($resourceAppIdURI, $clientId, $creds)
 
       return $authResult
}

# Get the auth token from AAD
$token = GetAuthToken

# Building Rest API header with authorization token
$authHeader = @{
   'Content-Type'='application/json'
   'Authorization'=$token.CreateAuthorizationHeader()
}


# Check the refresh history
$uri = "https://api.powerbi.com/v1.0/myorg/groups/$groupID/reports/$reportID/Export"
#$payload = Invoke-RestMethod -Uri $uri –Headers $authHeader –Method GET –Verbose  | ConvertTo-Json # | Out-File "c:\Intel\somefile.json" #| Out-GridView -PassThru
$payload = Invoke-RestMethod -Uri $uri –Headers $authHeader –Method GET –Verbose | Out-File "C:\Intel\MyPBIX.pbix"






Did I answer your question? Mark my post as a solution!

Proud to be a Super User!







Power BI Blog

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors