<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2097475#M32031</link>
    <description>&lt;DIV&gt;&lt;SPAN&gt;This is how we eventually got it working in just powershell, if anyone is interested:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Get-PackageSource&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#Tried&amp;nbsp;the&amp;nbsp;NuGet&amp;nbsp;package&amp;nbsp;manager&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&lt;A href="https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools" target="_blank"&gt;https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;Net.ServicePointManager&lt;/SPAN&gt;&lt;SPAN&gt;]::SecurityProtocol&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Net.SecurityProtocolType&lt;/SPAN&gt;&lt;SPAN&gt;]::Tls12&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Find-PackageProvider&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NuGet"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-AllVersions&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&amp;nbsp;into&amp;nbsp;the&amp;nbsp;current&amp;nbsp;working&amp;nbsp;directory&amp;nbsp;if&amp;nbsp;it's&amp;nbsp;not&amp;nbsp;already&amp;nbsp;installed&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Microsoft.PowerBi.Api&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;3.28&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Client&amp;nbsp;Runtime&amp;nbsp;package,&amp;nbsp;a&amp;nbsp;dependency&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.Rest.ClientRuntime.2.3.21"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Microsoft.Rest.ClientRuntime&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;2.3&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;21&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Newtonsoft&amp;nbsp;package,&amp;nbsp;another&amp;nbsp;dependency&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Newtonsoft.Json.11.0.2"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Newtonsoft.Json&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;11.0&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Client&amp;nbsp;Runtime&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$crpath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.Rest.ClientRuntime.2.3.21\lib\netstandard2.0\Microsoft.Rest.ClientRuntime.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$crpath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Newtonsoft&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$nwpath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Newtonsoft.Json.11.0.2\lib\netstandard2.0\Newtonsoft.Json.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$nwpath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Conditionally&amp;nbsp;choose&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;assembly&amp;nbsp;to&amp;nbsp;use,&amp;nbsp;depending&amp;nbsp;on&amp;nbsp;whether&amp;nbsp;you're&amp;nbsp;using&amp;nbsp;Windows&amp;nbsp;PowerShell&amp;nbsp;(version&amp;nbsp;&amp;lt;=&amp;nbsp;5)&amp;nbsp;or&amp;nbsp;PowerShell&amp;nbsp;Core&amp;nbsp;(version&amp;nbsp;&amp;gt;=&amp;nbsp;6)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;($PSVersionTable&lt;/SPAN&gt;&lt;SPAN&gt;.PSVersion.Major&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-le&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1\lib\net48\Microsoft.PowerBI.Api.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1\lib\netstandard2.0\Microsoft.PowerBI.Api.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Input&amp;nbsp;the&amp;nbsp;credentials&amp;nbsp;(this&amp;nbsp;is&amp;nbsp;using&amp;nbsp;Basic&amp;nbsp;credentials,&amp;nbsp;but&amp;nbsp;the&amp;nbsp;same&amp;nbsp;principle&amp;nbsp;applies&amp;nbsp;to&amp;nbsp;the&amp;nbsp;other&amp;nbsp;types).&amp;nbsp;Any&amp;nbsp;sensitive&amp;nbsp;info&amp;nbsp;should&amp;nbsp;be&amp;nbsp;handled&amp;nbsp;securely&amp;nbsp;(using&amp;nbsp;Azure&amp;nbsp;KeyVault&amp;nbsp;or&amp;nbsp;Azure&amp;nbsp;DevOps&amp;nbsp;secret&amp;nbsp;variables,&amp;nbsp;for&amp;nbsp;example)&amp;nbsp;but&amp;nbsp;for&amp;nbsp;demonstration&amp;nbsp;purposes,&amp;nbsp;I've&amp;nbsp;included&amp;nbsp;a&amp;nbsp;$password&amp;nbsp;variable&amp;nbsp;here&amp;nbsp;so&amp;nbsp;you&amp;nbsp;can&amp;nbsp;see&amp;nbsp;how&amp;nbsp;things&amp;nbsp;work.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$username&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;(username)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$password&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=(password)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Input&amp;nbsp;gateway&amp;nbsp;public&amp;nbsp;key&amp;nbsp;object&amp;nbsp;(retrieved&amp;nbsp;from&amp;nbsp;Get&amp;nbsp;Gateway&amp;nbsp;or&amp;nbsp;Get&amp;nbsp;Gateways&amp;nbsp;API).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;exponent&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"exponet"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;modulus&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;modulus"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Create&amp;nbsp;the&amp;nbsp;objects&amp;nbsp;to&amp;nbsp;perform&amp;nbsp;the&amp;nbsp;necessary&amp;nbsp;encryption&amp;nbsp;on&amp;nbsp;the&amp;nbsp;credentials.&amp;nbsp;Again,&amp;nbsp;since&amp;nbsp;I'm&amp;nbsp;using&amp;nbsp;basic&amp;nbsp;credentials,&amp;nbsp;I'm&amp;nbsp;constructing&amp;nbsp;a&amp;nbsp;new&amp;nbsp;BasicCredentials&amp;nbsp;class.&amp;nbsp;Other&amp;nbsp;classes&amp;nbsp;can&amp;nbsp;be&amp;nbsp;found&amp;nbsp;here:&amp;nbsp;&lt;A href="https://github.com/microsoft/PowerBI-CSharp/tree/bf7cdf047a0218f7a8555fa7966445812a043955/sdk/PowerBI.Api/Extensions/Models/Credentials" target="_blank"&gt;https://github.com/microsoft/PowerBI-CSharp/tree/bf7cdf047a0218f7a8555fa7966445812a043955/sdk/PowerBI.Api/Extensions/Models/Credentials&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$gatewayKeyObj&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.GatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;.exponent&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;.modulus&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$basicCreds&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.Credentials.BasicCredentials&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$username&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$password&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$credentialsEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Extensions.AsymmetricKeyEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayKeyObj&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Construct&amp;nbsp;the&amp;nbsp;CredentialDetails&amp;nbsp;object.&amp;nbsp;The&amp;nbsp;resulting&amp;nbsp;"Credentials"&amp;nbsp;property&amp;nbsp;on&amp;nbsp;this&amp;nbsp;object&amp;nbsp;will&amp;nbsp;have&amp;nbsp;been&amp;nbsp;encrypted&amp;nbsp;appropriately,&amp;nbsp;ready&amp;nbsp;for&amp;nbsp;use&amp;nbsp;in&amp;nbsp;the&amp;nbsp;request&amp;nbsp;payload.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.CredentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$basicCreds&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.PrivacyLevel&lt;/SPAN&gt;&lt;SPAN&gt;]::Private,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.EncryptedConnection&lt;/SPAN&gt;&lt;SPAN&gt;]::Encrypted,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$credentialsEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Construct&amp;nbsp;the&amp;nbsp;body&amp;nbsp;for&amp;nbsp;the&amp;nbsp;request.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentialType&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Basic"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentials&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;.Credentials&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;encryptedConnection&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Encrypted"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;encryptionAlgorithm&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"RSA-OAEP"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;privacyLevel&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Private"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Fri, 24 Sep 2021 16:56:06 GMT</pubDate>
    <dc:creator>jaredneedshelp</dc:creator>
    <dc:date>2021-09-24T16:56:06Z</dc:date>
    <item>
      <title>Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2089776#M31940</link>
      <description>&lt;P&gt;I am trying to figure out how we can update credentials for a power bi datasource in our gateway via the API only using powershell, we want to be able to automatically rotate credentials just running the powershell script.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In our testing we have had some sucess doing the following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Connect-PowerBIServiceAccount&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Credential&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN&gt;Get-Credential&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;(Eventually we will use permanent credentials here, but we are still in a testing phase)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;$headers&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Get-PowerBIAccessToken&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Write-Output&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$headers&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$uri&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://api.powerbi.com/v1.0/myorg/gateways/{gatewayID}/datasources/{datasource" target="_blank" rel="noopener"&gt;https://api.powerbi.com/v1.0/myorg/gateways/{gatewayID}/datasources/{datasource&lt;/A&gt; id}"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;credentialType&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;Basic&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;credentials&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"{Encrypted Credentials}&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;encryptedConnection&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;Encrypted&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;encryptionAlgorithm&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;RSA-OAEP&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;privacyLevel&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;useEndUserOAuth2Credentials&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;SPAN&gt;False&lt;/SPAN&gt;&lt;SPAN&gt;`"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$api_return&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN&gt;Invoke-RestMethod&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Uri&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$uri&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;–Headers&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$headers&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;–Method&amp;nbsp;Patch&amp;nbsp;-Body&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-ContentType&amp;nbsp;application/json)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;This works if we generate the encypted credentials via a c# script in .net and copy those over that you can find in a lot of the documentation and other fourm pages, but we would like to have it all be done automatically in powershell. The most promising answer I say similar to this was in the following form page&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;A href="https://community.powerbi.com/t5/Developer/Power-BI-REST-API-via-Powershell-Create-Datasource/m-p/862285" target="_blank" rel="noopener"&gt;https://community.powerbi.com/t5/Developer/Power-BI-REST-API-via-Powershell-Create-Datasource/m-p/862285&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;which was trying to convert a c# script to powershell. I have not been able to get their code to work properly, it gives errors on the copy stage of the script and the credentials it generates are rejected by the api, but I feel like its close.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Has anyone had sucess in being able to do the encryption process in powershell and passing it to the api without using c#? &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 21 Sep 2021 22:14:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2089776#M31940</guid>
      <dc:creator>jaredneedshelp</dc:creator>
      <dc:date>2021-09-21T22:14:24Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2095935#M32010</link>
      <description>&lt;P&gt;Here is a related blog, hoping to help you:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://endjin.com/blog/2020/12/how-to-update-credentials-for-an-on-prem-power-bi-data-source-using-powershell" target="_self"&gt;https://endjin.com/blog/2020/12/how-to-update-credentials-for-an-on-prem-power-bi-data-source-using-powershell&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Sep 2021 04:18:46 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2095935#M32010</guid>
      <dc:creator>V-lianl-msft</dc:creator>
      <dc:date>2021-09-24T04:18:46Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2097475#M32031</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;This is how we eventually got it working in just powershell, if anyone is interested:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Get-PackageSource&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#Tried&amp;nbsp;the&amp;nbsp;NuGet&amp;nbsp;package&amp;nbsp;manager&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#&lt;A href="https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools" target="_blank"&gt;https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;Net.ServicePointManager&lt;/SPAN&gt;&lt;SPAN&gt;]::SecurityProtocol&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Net.SecurityProtocolType&lt;/SPAN&gt;&lt;SPAN&gt;]::Tls12&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Find-PackageProvider&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"NuGet"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-AllVersions&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&amp;nbsp;into&amp;nbsp;the&amp;nbsp;current&amp;nbsp;working&amp;nbsp;directory&amp;nbsp;if&amp;nbsp;it's&amp;nbsp;not&amp;nbsp;already&amp;nbsp;installed&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Microsoft.PowerBi.Api&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;3.28&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Client&amp;nbsp;Runtime&amp;nbsp;package,&amp;nbsp;a&amp;nbsp;dependency&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.Rest.ClientRuntime.2.3.21"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Microsoft.Rest.ClientRuntime&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;2.3&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;21&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Install&amp;nbsp;the&amp;nbsp;Newtonsoft&amp;nbsp;package,&amp;nbsp;another&amp;nbsp;dependency&amp;nbsp;of&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;package&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(!(&lt;/SPAN&gt;&lt;SPAN&gt;Test-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Newtonsoft.Json.11.0.2"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-PathType&amp;nbsp;Container))&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Install-Package&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-Name&amp;nbsp;Newtonsoft.Json&amp;nbsp;-ProviderName&amp;nbsp;NuGet&amp;nbsp;-Scope&amp;nbsp;CurrentUser&amp;nbsp;-RequiredVersion&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;11.0&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-SkipDependencies&amp;nbsp;-Destination&amp;nbsp;.&amp;nbsp;-Force&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Client&amp;nbsp;Runtime&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$crpath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.Rest.ClientRuntime.2.3.21\lib\netstandard2.0\Microsoft.Rest.ClientRuntime.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$crpath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Newtonsoft&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$nwpath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Newtonsoft.Json.11.0.2\lib\netstandard2.0\Newtonsoft.Json.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$nwpath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Conditionally&amp;nbsp;choose&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;assembly&amp;nbsp;to&amp;nbsp;use,&amp;nbsp;depending&amp;nbsp;on&amp;nbsp;whether&amp;nbsp;you're&amp;nbsp;using&amp;nbsp;Windows&amp;nbsp;PowerShell&amp;nbsp;(version&amp;nbsp;&amp;lt;=&amp;nbsp;5)&amp;nbsp;or&amp;nbsp;PowerShell&amp;nbsp;Core&amp;nbsp;(version&amp;nbsp;&amp;gt;=&amp;nbsp;6)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;($PSVersionTable&lt;/SPAN&gt;&lt;SPAN&gt;.PSVersion.Major&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;-le&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;5&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1\lib\net48\Microsoft.PowerBI.Api.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;Resolve-Path&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;".\Microsoft.PowerBI.Api.3.28.1\lib\netstandard2.0\Microsoft.PowerBI.Api.dll"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Load&amp;nbsp;the&amp;nbsp;Power&amp;nbsp;BI&amp;nbsp;assembly&amp;nbsp;into&amp;nbsp;the&amp;nbsp;session&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;[&lt;/SPAN&gt;&lt;SPAN&gt;System.Reflection.Assembly&lt;/SPAN&gt;&lt;SPAN&gt;]::LoadFrom(&lt;/SPAN&gt;&lt;SPAN&gt;$pbipath&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Input&amp;nbsp;the&amp;nbsp;credentials&amp;nbsp;(this&amp;nbsp;is&amp;nbsp;using&amp;nbsp;Basic&amp;nbsp;credentials,&amp;nbsp;but&amp;nbsp;the&amp;nbsp;same&amp;nbsp;principle&amp;nbsp;applies&amp;nbsp;to&amp;nbsp;the&amp;nbsp;other&amp;nbsp;types).&amp;nbsp;Any&amp;nbsp;sensitive&amp;nbsp;info&amp;nbsp;should&amp;nbsp;be&amp;nbsp;handled&amp;nbsp;securely&amp;nbsp;(using&amp;nbsp;Azure&amp;nbsp;KeyVault&amp;nbsp;or&amp;nbsp;Azure&amp;nbsp;DevOps&amp;nbsp;secret&amp;nbsp;variables,&amp;nbsp;for&amp;nbsp;example)&amp;nbsp;but&amp;nbsp;for&amp;nbsp;demonstration&amp;nbsp;purposes,&amp;nbsp;I've&amp;nbsp;included&amp;nbsp;a&amp;nbsp;$password&amp;nbsp;variable&amp;nbsp;here&amp;nbsp;so&amp;nbsp;you&amp;nbsp;can&amp;nbsp;see&amp;nbsp;how&amp;nbsp;things&amp;nbsp;work.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$username&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;(username)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$password&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=(password)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Input&amp;nbsp;gateway&amp;nbsp;public&amp;nbsp;key&amp;nbsp;object&amp;nbsp;(retrieved&amp;nbsp;from&amp;nbsp;Get&amp;nbsp;Gateway&amp;nbsp;or&amp;nbsp;Get&amp;nbsp;Gateways&amp;nbsp;API).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;exponent&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"exponet"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;modulus&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;modulus"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Create&amp;nbsp;the&amp;nbsp;objects&amp;nbsp;to&amp;nbsp;perform&amp;nbsp;the&amp;nbsp;necessary&amp;nbsp;encryption&amp;nbsp;on&amp;nbsp;the&amp;nbsp;credentials.&amp;nbsp;Again,&amp;nbsp;since&amp;nbsp;I'm&amp;nbsp;using&amp;nbsp;basic&amp;nbsp;credentials,&amp;nbsp;I'm&amp;nbsp;constructing&amp;nbsp;a&amp;nbsp;new&amp;nbsp;BasicCredentials&amp;nbsp;class.&amp;nbsp;Other&amp;nbsp;classes&amp;nbsp;can&amp;nbsp;be&amp;nbsp;found&amp;nbsp;here:&amp;nbsp;&lt;A href="https://github.com/microsoft/PowerBI-CSharp/tree/bf7cdf047a0218f7a8555fa7966445812a043955/sdk/PowerBI.Api/Extensions/Models/Credentials" target="_blank"&gt;https://github.com/microsoft/PowerBI-CSharp/tree/bf7cdf047a0218f7a8555fa7966445812a043955/sdk/PowerBI.Api/Extensions/Models/Credentials&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$gatewayKeyObj&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.GatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;.exponent&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayPublicKey&lt;/SPAN&gt;&lt;SPAN&gt;.modulus&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$basicCreds&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.Credentials.BasicCredentials&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$username&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$password&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$credentialsEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Extensions.AsymmetricKeyEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;SPAN&gt;$gatewayKeyObj&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Construct&amp;nbsp;the&amp;nbsp;CredentialDetails&amp;nbsp;object.&amp;nbsp;The&amp;nbsp;resulting&amp;nbsp;"Credentials"&amp;nbsp;property&amp;nbsp;on&amp;nbsp;this&amp;nbsp;object&amp;nbsp;will&amp;nbsp;have&amp;nbsp;been&amp;nbsp;encrypted&amp;nbsp;appropriately,&amp;nbsp;ready&amp;nbsp;for&amp;nbsp;use&amp;nbsp;in&amp;nbsp;the&amp;nbsp;request&amp;nbsp;payload.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.CredentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;]::new(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$basicCreds&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.PrivacyLevel&lt;/SPAN&gt;&lt;SPAN&gt;]::Private,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.PowerBI.Api.Models.EncryptedConnection&lt;/SPAN&gt;&lt;SPAN&gt;]::Encrypted,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$credentialsEncryptor&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;SPAN&gt;#&amp;nbsp;Construct&amp;nbsp;the&amp;nbsp;body&amp;nbsp;for&amp;nbsp;the&amp;nbsp;request.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;$body&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentialType&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Basic"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;credentials&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;$credentialDetails&lt;/SPAN&gt;&lt;SPAN&gt;.Credentials&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;encryptedConnection&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Encrypted"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;encryptionAlgorithm&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"RSA-OAEP"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;privacyLevel&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"Private"&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 24 Sep 2021 16:56:06 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/2097475#M32031</guid>
      <dc:creator>jaredneedshelp</dc:creator>
      <dc:date>2021-09-24T16:56:06Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3075242#M41214</link>
      <description>&lt;P&gt;I am trying to implement this with OAUTH2. Is the flow for OAUTH2 similar to Basic Auth? Can you provide some pointers for OAUTH2 implementation?&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 18:52:13 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3075242#M41214</guid>
      <dc:creator>VarinNahdarp</dc:creator>
      <dc:date>2023-02-10T18:52:13Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3075608#M41217</link>
      <description>&lt;P&gt;I haven't tried it using OAUTH2, and we actually ended up switching over to doing it in python. But from some inital searching I imagine you could change the body to be like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;$body&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;= @{&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"type"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"OAuth2"&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"typeProperties"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;= @{&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"clientId"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&amp;lt;client-id&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"clientSecret"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&amp;lt;client-secret&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"tokenUrl"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&amp;lt;token-url&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"resource"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"&amp;lt;resource&amp;gt;"&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;} }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But I can't say for sure, sorry.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Feb 2023 22:50:09 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3075608#M41217</guid>
      <dc:creator>jaredneedshelp</dc:creator>
      <dc:date>2023-02-10T22:50:09Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3192572#M42245</link>
      <description>&lt;P&gt;We're dealing with this encryption so that we can create a data source via API's&amp;nbsp; I haven't had much luck with the API call.&amp;nbsp; Were there any updates/improvements to this PowerShell Script?&amp;nbsp; Please share any thoughts as we're trying to automate some of this process to extract password from our internal vault and call "Create datasource" API but it doesn't seem like its a simple call.&lt;/P&gt;</description>
      <pubDate>Tue, 18 Apr 2023 03:05:13 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3192572#M42245</guid>
      <dc:creator>pvuppala</dc:creator>
      <dc:date>2023-04-18T03:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3193943#M42262</link>
      <description>&lt;P&gt;We abandonded the powershell script to use python instead, and I haven't done the create datasource, just rotating an existing one, sorry&lt;/P&gt;</description>
      <pubDate>Tue, 18 Apr 2023 14:39:12 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3193943#M42262</guid>
      <dc:creator>jaredneedshelp</dc:creator>
      <dc:date>2023-04-18T14:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3195985#M42291</link>
      <description>&lt;P&gt;Thanks Jared,&lt;/P&gt;&lt;P&gt;Are you able to share some documentation with Python process?&lt;/P&gt;</description>
      <pubDate>Wed, 19 Apr 2023 13:53:37 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3195985#M42291</guid>
      <dc:creator>pvuppala</dc:creator>
      <dc:date>2023-04-19T13:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3196049#M42294</link>
      <description>&lt;P&gt;What I did was just based on this&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/microsoft/PowerBI-Developer-Samples/tree/master/Python" target="_blank"&gt;https://github.com/microsoft/PowerBI-Developer-Samples/tree/master/Python&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Apr 2023 14:32:19 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3196049#M42294</guid>
      <dc:creator>jaredneedshelp</dc:creator>
      <dc:date>2023-04-19T14:32:19Z</dc:date>
    </item>
    <item>
      <title>Re: Update Datasource Credential Using Only Powershell and RSA-OAEP Authentication</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3196087#M42295</link>
      <description>&lt;P&gt;I"m running into some "timeout" issues when I submit for Encrypt credentials using that python app via localhost:5000.&amp;nbsp; This is the error&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Error retrieving Access token
HTTPSConnectionPool(host='login.microsoftonline.com', port=443): Max retries exceeded with url: /common/oauth2/v2.0/.well-known/openid-configuration (Caused by ConnectTimeoutError(, 'Connection to login.microsoftonline.com timed out. (connect timeout=None)'))&lt;/LI-CODE&gt;&lt;P&gt;Not sure whats causing this..I will try to look at the .NET Core option today for encryption.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Apr 2023 14:51:57 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Update-Datasource-Credential-Using-Only-Powershell-and-RSA-OAEP/m-p/3196087#M42295</guid>
      <dc:creator>pvuppala</dc:creator>
      <dc:date>2023-04-19T14:51:57Z</dc:date>
    </item>
  </channel>
</rss>

