azure - Runbook 作为 azure 帐户运行 Powershell

标签 azure powershell azure-runbook runbook

我在 subscription/rg 内的 VM 上获得了一个脚本,该脚本运行名为 Qlik-Cli 的 ps 模块,它使用证书和登录名。

证书存储在服务帐户的本地存储中,而不是产品的工作方式的选择。 我需要通过 powershell runbook 来触发此操作。

为了使其正常工作,我需要使用服务帐户触发此操作,否则它将找不到证书。

这是我们要安排的事情,因此必须以这种方式完成。

我怎样才能这样运行它,或者这是不可能的? 我在谷歌搜索时找不到任何好的选择。

> Import-Module -Name Qlik-Cli
> [Net.ServicePointManager]::SecurityProtocol =
> [Net.SecurityProtocolType]::Tls12 $logpath =
> "E:\Tools\Scripts\log.txt" get-childitem cert:\currentuser\My\  |
> where {$_.Thumbprint -eq '"thumbprint"'} |
> Connect-Qlik "DNS" -UserName
> "user" -TrustAllCerts -verbose 4>&1 | Out-File
> -Append $logpath Start-QlikTask -id df9dfa2f-32ca-4db4-bdce-15ad924fd59f -verbose 4>&1 | Out-File -Append
> $logpath

Runbook 中的脚本:

$ServicePrincipalConnection = Get-AutomationConnection -Name 'AzureRunAsConnection'
Add-AzAccount -ServicePrincipal -TenantId $ServicePrincipalConnection.TenantId  -ApplicationId $ServicePrincipalConnection.ApplicationId -CertificateThumbprint $ServicePrincipalConnection.CertificateThumbprint
$rgname ="Resource-Group"
$vmname ="Virtual machine name"
$ScriptToRun = "E:\Tools\Scripts\Tasktrigger.ps1"
Out-File -InputObject $ScriptToRun -FilePath ScriptToRun.ps1 
Invoke-AzVMRunCommand -ResourceGroupName $rgname -Name $vmname -CommandId 'RunPowerShellScript' -ScriptPath ScriptToRun.ps1
Remove-Item -Path ScriptToRun.ps1   

当我执行 Runbook 时,脚本(本地脚本)中的日志显示它找不到证书,这并不奇怪。

原始输出: 在当前用户存储中找到 0 个证书 在本地机器存储中找到 0 个证书 未找到有效证书,使用 Windows 凭据

最佳答案

使用Click-Cli模块的Github上的代码来回溯错误消息。必须更改证书并在个人/机器商店中导入新证书。

此外,从 QlikServer 外部运行时的默认用户名是domain\Servername$,这意味着您必须更改 QlikSense 中帐户的权限以允许其执行任务。

如果您在完全添加正确的证书后使用详细日志记录来记录文件,则可以看到该名称。

关于azure - Runbook 作为 azure 帐户运行 Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67219362/

相关文章:

azure - 按计划启用/禁用 Azure 中的可用性测试

azure - 如何将第二个网络接口(interface)添加到 Azure 虚拟机规模集?

c# - 处理与 Azure 中实体组事务的冲突

c# - 如何配置 Windows Azure WCF 服务 Web 角色以与 netTcpBinding 一起使用?

azure - 使用托管标识从 VM 访问 Azure 存储

powershell - MS 通过创建 PowerShell 解决了什么问题?

azure - 多个 Runbook 可以在 Azure 自动化帐户中同时运行吗?

azure - 从 SAP ECC 实时提取数据

java - Internet Explorer dom 在不同环境中表现不同

powershell - 使用 Azure Powershell Runbook 在 Azure 数据湖存储上将 Csv 文件转换为 Xml