【问题标题】:Azure Automation Runbook ADAL SQL supportAzure 自动化 Runbook ADAL SQL 支持
【发布时间】:2017-02-15 23:34:55
【问题描述】:

我正在尝试使用 Azure 自动化 Runbook 使用 Azure AD 凭据对 Azure SQL 数据库运行查询:

$cred = Get-AutomationPSCredential -Name 'SqlAdminUser'
$Username = $cred.UserName
$Password = $cred.GetNetworkCredential().Password
$Server = 'server.database.windows.net'
$Port = 1433
$cxnString = "Server=tcp:$Server,$Port;Database=$Database;Authentication=Active Directory Password;UID=$UserName;PWD=$Password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"

$cxn = New-Object System.Data.SqlClient.SqlConnection($cxnString)
$cxn.Open()
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $cxn)
$cmd.CommandTimeout = 120
$cmd.ExecuteNonQuery()
$cxn.Close()

我收到以下错误:

不支持关键字:“身份验证”。

所以 Azure 自动化似乎没有安装 ADAL SQL library?有什么简单的方法可以解决这个问题(并且仍然使用 Azure AD 帐户进行连接)?

我使用this 示例作为起点。

【问题讨论】:

    标签: sql-server powershell azure automation runbook


    【解决方案1】:

    您正在从 $SqlCredential 获取用户名和密码,但您将凭据存储在 $cred 变量中。这些变量必须相同。还要确保在 azure 自动化帐户中创建了一个与“SqlAdminUser”同名的自动化凭据对象

    【讨论】:

    • 很好,这是一个错字(现已修复),但与我引用的错误消息无关
    【解决方案2】:

    最后我创建了混合工作器,它允许我安装最新版本的ADAL SQL library,它支持 Azure AD 身份验证。

    【讨论】:

      猜你喜欢
      • 2019-05-17
      • 2016-08-09
      • 1970-01-01
      • 2022-09-25
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      相关资源
      最近更新 更多