簡體   English   中英

PowerShell & 電源BI Rest API

[英]PowerShell & Power BI Rest API

本質上,我所追求的是 rest API 網關的結果 - 獲取數據源用戶但保留 ID(在此示例中,$Line.id 來自我導入的 CSV 文件)。

最終結果應為 CSV,其中包含以下字段 - ID、emailAddress、datasourceAccessRight、displayName、identifier、principalType

我是 PowerShell 的新手,很驚訝我能走到這一步,但無法弄清楚最后一點。

干杯

$webclient=New-Object System.Net.WebClient
$webclient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials

$Dir = "C:\pbi_pro_user_logs\"

Login-PowerBI

$GateWayFile = Import-CSV -Path "C:\pbi_pro_user_logs\Gateway_Detail.csv"
$Output = @()
foreach ($Line in $GateWayFile){
    $Item = $Line.id
    $url =  "https://api.powerbi.com/v1.0/myorg/gateways/HIDDEN/datasources/"+$Item+"/users"
    $Output += (Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json)
}

$Result = $Output.value

$Result | Export-Csv $Dir"GateWay_users.csv" -NoTypeInformation

試試這個,使用Select-Object的計算屬性:

$GateWayFile = Import-CSV -Path "C:\pbi_pro_user_logs\Gateway_Detail.csv"
$Output = Foreach ($Line in $GateWayFile){
    $url =  "https://api.powerbi.com/v1.0/myorg/gateways/HIDDEN/datasources/"+$Line.id+"/users"
    $Item = (Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json)

    # output all properties of the item, plus the ID:
    $ItemWithID = $Item | Select *,@{l='Id';e={$line.id}}
    Write-Output $ItemWithID
}

# This depends on how you want your csv structured, but for example:
$Result = $Output | Select Id,Value

或者,如果Value是一個完整的 object,則應在其中分配ID ,然后更改選擇行:

  $ItemWithID = $Item.Value | Select *,@{l='Id';e={$line.id}}
$Result = $Output

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM