如何将PowerShell的Invoke-Sqlcmd与Azure Active Directory的多因素身份验证(MFA)结合使用?

时间:2019-03-06 17:44:16

标签: powershell azure-active-directory azure-sql-database

我希望运行调用Invoke-Sqlcmd的PowerShell脚本的用户必须提供其Azure Active Directory用户名,密码和MFA响应以对已配置的Azure SQL数据库进行身份验证。我发现关于该主题的信息很少。我尝试省略-Username和-Password,但收到此错误:

Invoke-Sqlcmd : Windows logins are not supported in this version of SQL Server.

3 个答案:

答案 0 :(得分:0)

据我所知,SSMS和SqlPackage.exe是当前通过Active Directory通用身份验证为MFA启用的唯一工具。有关更多详细信息,请参阅此document

如果对Azure SQL数据库有任何想法或建议,可以从here提交。

答案 1 :(得分:0)

得到了Azure支持的答复,我在那里问了同样的问题。

  

当前,只有SQLCMD和BCP实用程序是受支持的实用程序   用于交互式身份验证。 Invoke-SQLCMD不是其中之一   尚受支持的实用程序。

:(

答案 2 :(得分:0)

根据文档,他们现在支持此功能。 “新的BCP支持Azure AD身份验证,包括对SQL数据库和SQL数据仓库的多重身份验证(MFA)支持。”

https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility