Forum Discussion

nkasdali's avatar
nkasdali
Microsoft Employee
5 years ago
Solved

GetDatasourcesAsAdmin Powershell help

Hi All,

I need your help to build this ForEach loop, unfortunately i'm not familiar with PowerShell.

 

First API call helps me to get all my datasets, then, i have to passe the "id" of each one to the datasource APi call :

 

 

 

 

################## GET Datasets DATA###########################################
Write-Host("Getting datasets data.....")
$DatasetsApi = 'https://api.powerbi.com/v1.0/myorg/admin/datasets?$top=2'
$DatasetsCall = Invoke-PowerBIRestMethod -Url $DatasetsApi -Method Get 

################## GET Datasources DATA###########################################
ForEach ($DatasetsCall in $DatasetsCall)
{
$DatasourceApi = 'https://api.powerbi.com/v1.0/myorg/admin/datasets/&'+$DatasetsCall.id+'&/datasources'

$DatasourceCall = Invoke-PowerBIRestMethod -Url $DatasourceApi -Method Get 
$DatasourceCall

}

 

 

 

 

Thank you for your help

  • Hi nkasdali ,

     

    Please try this.

    ################## GET Datasets DATA###########################################
    Write-Host("Getting datasets data.....")
    $DatasetsApi = 'https://api.powerbi.com/v1.0/myorg/admin/datasets?$top=2'
    $DatasetsCall = Invoke-PowerBIRestMethod -Url $DatasetsApi -Method Get 
    
    ################## GET Datasources DATA###########################################
    ForEach ($DatasetsCall in $DatasetsCall)
    {
        $DatasourceApi = "https://api.powerbi.com/v1.0/myorg/admin/datasets/" + $DatasetsCall.Id + "/datasources"
        $DatasourceCall = Invoke-PowerBIRestMethod -Url $DatasourceApi -Method Get 
        $DatasourceCall
    
    }

     

    Best regards,
    Lionel Chen

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

3 Replies

    • v-lionel-msft's avatar
      v-lionel-msft
      Community Support

      Hi nkasdali ,

       

      Please try this.

      ################## GET Datasets DATA###########################################
      Write-Host("Getting datasets data.....")
      $DatasetsApi = 'https://api.powerbi.com/v1.0/myorg/admin/datasets?$top=2'
      $DatasetsCall = Invoke-PowerBIRestMethod -Url $DatasetsApi -Method Get 
      
      ################## GET Datasources DATA###########################################
      ForEach ($DatasetsCall in $DatasetsCall)
      {
          $DatasourceApi = "https://api.powerbi.com/v1.0/myorg/admin/datasets/" + $DatasetsCall.Id + "/datasources"
          $DatasourceCall = Invoke-PowerBIRestMethod -Url $DatasourceApi -Method Get 
          $DatasourceCall
      
      }

       

      Best regards,
      Lionel Chen

      If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.