问题标签 [hybrid-runbook-worker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 在本地混合 Runbook 辅助角色上运行 Azure 自动化 Runbook 时无法解析自动化帐户
我最近开始使用 Azure 自动化来执行运行手册。由于我公司的混合内部部署 + 云战略,我们有需要在内部运行 Runbook 的场景。我最近通过门户启动了一个自动化帐户,设置了 RunAs 帐户(现代和经典)并且能够连接到本地特定机器,将其用作混合 Runbook Worker 并使用 RunAs 帐户执行 Runbook 没问题.
但是,我为另一个项目创建了第二个自动化帐户,这次使用 ARM 模板从头开始编写。然后,我再次从 Hybrid Runbook Worker(在不同的工作机器上运行)导入了要执行的 Runbook,并且没有办法自动创建 RunAs 帐户,所以我再次通过门户创建了它。但是,这一次,AzureAutomationAuthoringToolkit: Warning - Local value for Connection asset 'AzureRunAsConnection' not found.
当我的 Runbook 尝试从 RunAs 帐户获取必要的连接参数到Login-AzureRmAccount
.
在创建 RunAs 帐户后,我尝试删除并重新创建 Runbook,我尝试删除并重新创建 Hybrid Runbook Worker 组(以及在 VM 机器上重新安装工作人员),我尝试删除并重新创建计划(也没有成功)。我仍然收到上面的错误。有没有人遇到过这个问题?
powershell - Azure Runbook 作业在混合 Runbook 工作组上运行时重新启动
我有一个配置了 Hybrid Runbook Worker 的自动化帐户,突然所有作业在每 15 分钟 3 次后重新启动,并最终因错误而暂停:
作业被暂停。有关其他故障排除,请检查混合 Runbook 工作人员组中尝试运行此作业的计算机上的 Microsoft-SMA 事件日志。
任何想法?可能是什么问题
azure - 添加-hybridrunbookworker“参数组不能为空”
我正在尝试使用 Add-HybridRunbookWorker cmdlet 按照OMS Hybrid worker solution的指示创建一个混合工作者。
问题是我得到
文档只提到添加–Url $url -Key $key -GroupName $groupName
为参数,所以我不确定发生了什么。有人有想法吗?
编辑:
我还注意到,在运行 cmdlet 后,工作人员出现在 azure 门户上,但无法使用。它们也不能从本地计算机中删除,因为它表示没有在该端注册。
我唯一能想到的是 cmdlet 引用了一些我可能安装了不同版本的模块,它引入了一个新参数?
powershell - 正确使用用于 PowerShell 工作流中的内联脚本
我有一个 Azure 自动化 Powershell 工作流 Runbook,我希望在 Hybrid Runbook Worker 服务器上运行它,作为 Azure Site Recovery 故障转移后操作步骤的一部分。
在较高级别上,Runbook 使用 Azure Run AS 连接来收集将进行故障转移的 VM 之一的专用 IP 地址。存储此 IP 地址,然后将其写入环境中配置的 Active Directory DNS 中的 STATIC A 记录。
> 注意我向您保证,我们这样做是有充分理由的。我意识到机器本身在 AD 上出现时会刷新它的个人 DNS 名称条目,这是一个单独的 A 记录,我们要指向故障转移服务器的 IP 地址。由于此服务器托管的应用程序存在已定义问题,我们没有使用 CNAME。
所以我必须更新这条A记录。您将在下面找到执行此操作的脚本。当我使用适当的凭据 (mydomain\asrscripts) 登录到服务器时,当我在 Hybrid Runbook Server 上运行它时,下面的这个脚本可以正常工作。
{
上述代码中的每一步都成功进行,直到到达 Set-DNSServerResourceRecord 语句,并失败并出现如下所示的 Permission Denied Error。这是我从 Azure 自动化门户运行作业的时候。当我在以用户身份登录的盒子上本地运行它时,它可以正常工作。
> 我想我需要在我的 InlineScript 块的末尾使用来强制代码在我想要的已定义用户上下文中针对 DNS 服务器执行。尽管我真正想要的是在定义的用户上下文中在混合 Runbook 工作人员上执行命令。
about_inlinescript文档说它接受 https://docs.microsoft.com/en-us/powershell/module/psworkflow/about/about_inlinescript?view=powershell-5.1
并为我提供了一个这样的例子
InlineScript {<script block>} <ActivityCommonParameters>
它引用了我希望使用的两个参数-PSComputerName
和-PSCredential
我建立一个这样的凭证对象
$secpasswd = ConvertTo-SecureString "MyAwesomePassword" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("MYDOMAIN\asrscripts", $secpasswd)
我什至使用自动化从自动化中提取了资产
$domainCred = Get-AutomationPSCredential -Name 'asrscripts'
当我运行我的代码并尝试模仿示例时,通过将 -PSComputername 或 -PSCredential 添加到 InlineScript 的末尾,我得到了错误。
At line:94 char:7 + -PSComputerName 'MYDNSServer' -PSCredential $domainCred + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Cannot find the '-PSComputerName' command. If this command is defined as a workflow, ensure it is defined before the workflow that calls it. If it is a command intended to run directly within Windows PowerShell (or is not available on this system), place it in an InlineScript: 'InlineScript { -PSComputerName }'
如果我遵循上述错误的建议并将 -PSComputerName 和 -PSCredential 放在 InlineScript 块内,我会收到一个错误,它无法找到 Set-DNSServerResourceRecord 的参数,用于 -PSComputerName 和 -PSCredential
> 我不知道我做错了什么
- 在 Runbook 服务器上,我安装了所有适当的 Powershell 模块。
- 它已加入域。
- 它被添加为 DNSServer 上的受信任主机,它也是域控制器
- 我想在 MYDOMAIN\asrscripts 的上下文中运行它的用户,它被添加为 Azure 自动化凭据工件
- 如果我尝试将 Hybrid Worker 的 RUNAS 用户更改为 CUSTOM 并选择我的 asrscripts 工件,则作业会挂起,并且永远不会运行。它一直处于 Queued 状态,直到挂起。我在系统事件日志中收到用户无法验证的错误。
- 我已经用尽了下面的远程故障排除文档
希望有人可以提供帮助。谢谢!
azure - 调用子 Runbook 会导致“.\RunbookName.ps1”一词未被识别为 cmdlet、函数、脚本文件或可运行程序的名称
我正在尝试使用儿童运行手册进行 POC。作为此 POC 的一部分,我创建了一个简单的运行手册 Child.ps1,其中包含以下内容:
和一个父 Runbook,它通过传递参数调用子 Runbook,如下所示:
当我测试父 Runbook 时,我收到以下错误:
我正在尝试使用 Hybrid Worker 对此进行测试。我能够成功测试子运行手册。任何想法为什么会失败。我在这里遗漏了什么吗?
azure - 使用 Sync-AzAnalysisServicesInstance 在 Azure 中同步 Azure 分析服务器模型
我们正在使用混合工作组,并且我们有一个指向我们的远程服务器之一的组名,现在我想使用 powershell 脚本同步我的 Azure 分析服务器模型,是否有人拥有 powershell 脚本来连接和同步我的模型?
bash - 使用 azure 自动化在 Azure Linux VM 上执行 bash 命令
我需要在带有 Ubuntu 映像的 Azure VM 上安装软件。手动执行此操作的一种方法是使用 putty 或其他命令行工具 ssh 进入终端并执行安装 bash 命令。另一种方法是通过创建 bash 脚本并从 Azure 自动化中调用它来自动执行此操作。但我无法找到从 azure 自动化运行手册中调用 bash 脚本的方法。请让我知道这是否可能。
我可以调用 powershell 脚本,因为 Azure 自动化默认支持 powershell。
我尝试使用该命令New-SshSession
并使用Invoke-SshCommand
来运行我的命令,但在尝试连接到会话时出现以下错误。
另外,使用 New-SshSession 的先决条件是什么(见下文)?
在我开始使用 New-SshSession 之前是否有任何先决条件?我需要在我的 linux 机器上安装任何 .Net 库吗?
azure - Azure Hybrid Runbook Workers:无法生成伪终端
我们正在尝试利用 Azure 自动化,将 Hybrid Runbook Workers 作为我们正在开发的托管服务平台的边缘运行时,除了以下障碍外,事情进展顺利:
我们构建了一个基本的 Python 3.8 测试脚本,利用 pexpect 库(pxssh 无法正常工作,因此我们正在运行核心 pexpect 函数)连接到设备并通过 SSH 执行命令。在任何人建议之前,我们必须为我们的用例使用密码。这是连接/登录过程的相关片段:
我们已经验证了该脚本可以在远程开发环境以及混合工作器本身(在本地保存脚本并从终端运行)完美运行,但在尝试在 Azure 自动化中创建作业时,设备可以使用导入的 pexpect 模块运行脚本,但我们收到以下错误:
Pseudo-terminal will not be allocated because stdin is not a terminal.
添加-t -t
, -tt
, 或-T
作为参数将使错误消息消失,但无论如何,我们无法写入标准输出,因此在从 Azure 触发函数时,我们的测试脚本基本上是死水了。
我们猜测问题源于临时运行时环境的实例化方式,但尚不清楚这是否是平台的固有限制,或者我们是否在这里遗漏了一些东西。