使用在 Azure 中使用 MFA 的帐户调用 Sqlcmd

bor*_*s86 5 invoke-sqlcmd azure-sql-server multi-factor-authentication

你们中有人知道使用 PowerShell 与启用了 MFA 的 Azure AD 帐户执行 SQL 命令的选项吗?什么是替代方案?我需要为此创建一个服务主体吗?

我运气不好,只找到了这个 cmdlet, Add-SqlAzureAuthenticationContext 但是当我尝试运行时Invoke-Sqlcmd,出现以下错误:

Invoke-Sqlcmd:目标主体名称不正确。无法生成 SSPI 上下文。

jle*_*yva 1

不是真正的答案。

尝试了以下方法

    Add-SqlAzureAuthenticationContext -Interactive
    $sql = 'SELECT @@SERVERNAME AS ServerName';   
    $ConnectionString = 'Data Source=tcp:azSERVER.database.windows.net,1433;Initial Catalog=DBNAME;Authentication="Active Directory Interactive";User ID=USERXX@DOMAINYY.COM'
    Invoke-Sqlcmd -ConnectionString $ConnectionString -Query $sql -Verbose
Run Code Online (Sandbox Code Playgroud)

并得到了

Invoke-Sqlcmd:发生一个或多个错误。行数:4 字符:5

请注意,我想使用该interactive标志,