gpt4 book ai didi

powershell - 从一个 Azure 自动化 Runbook 调用另一个 Azure 自动化 Runbook 时出错

转载 作者:行者123 更新时间:2023-12-03 05:54:13 27 4
gpt4 key购买 nike

背景

我有一个 Azure Runbook(名为 RunStoredProcedure2),定义如下:

param(
[parameter(Mandatory=$True)]
[string] $SqlServer,

[parameter(Mandatory=$False)]
[int] $SqlServerPort = 1433,

[parameter(Mandatory=$True)]
[string] $Database,

[parameter(Mandatory=$True)]
[string] $StoredProcedureName,

[parameter(Mandatory=$True)]
[PSCredential] $SqlCredential
)

# Get the username and password from the SQL Credential
$SqlUsername = $SqlCredential.UserName
$SqlPass = $SqlCredential.GetNetworkCredential().Password

$Conn = New-Object System.Data.SqlClient.SqlConnection("Server=tcp:$SqlServer,$SqlServerPort;Database=$Database;User ID=$SqlUsername;Password=$SqlPass;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;")

$Conn.Open()

$Cmd=new-object system.Data.SqlClient.SqlCommand("EXEC
$StoredProcedureName", $Conn)
$Cmd.CommandTimeout=120


$Cmd.ExecuteNonQuery()
# Close the SQL connection
$Conn.Close()

我现在尝试使用以下命令从另一个 Azure Runbook 调用此 Runbook:

& .\RunStoredProcedure2.ps1 -Database 'adventureworksnh.database.windows.net' -SqlServer 'AdventureWorksDW' -SqlServerPort 1433 -StoredProcedureName 'TestJob1' -sqlCredential 'awadmin'

问题

当我尝试运行此程序时,出现此错误:

C:\Temp\uzahthmc.su1\RunStoredProcedure2.ps1 : Cannot process argument transformation on parameter 'SqlCredential'. A command that prompts the user failed because the host program or the command type does not support user interaction. The host was attempting to request confirmation with the following message: Enter your credentials.

我能够使用这些参数成功运行 RunStoredProcedure

我尝试过的

  • 添加/删除前面的 & 符号
  • 使用调用表达式

最佳答案

您的自动化帐户中是否有名为“awadmin”的凭证 Assets ?当您直接启动 Runbook(使用门户中的“开始”按钮或 Start-AzureRmAutomationRunbook)时,Azure 自动化允许您将凭据 Assets 名称作为参数值传递,并且它将自动检索指定的凭据。但是,当您从另一个 Runbook 调用 Runbook 时,您必须遵循简单的 PowerShell 规则并传递 PSCredential 对象,如声明的那样:

$sqlCred = Get-AutomationPSCredential -Name 'awadmin'
& .\RunStoredProcedure2.ps1 ... -sqlCredential $sqlCred

关于powershell - 从一个 Azure 自动化 Runbook 调用另一个 Azure 自动化 Runbook 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com