4

我可以在 Azure Runbook(PowerShell 或任何其他)中使用我自己的/自定义控制台应用程序吗?

当我尝试运行自己的控制台应用程序时(从 Azure Storage 检索它之后),它失败了。


当我尝试通过以下方式执行它时:

.\myapp.exe

我得到:

程序“myapp.exe”运行失败:操作被用户取消


当我使用System.Diagnostics.Process

$process = New-Object System.Diagnostics.Process
$process.StartInfo.FileName = $path
$process.StartInfo.UseShellExecute = $False
$process.Start()

我得到一个更有意义的错误:

使用“0”参数调用“开始”的异常:“此程序被组策略阻止。有关详细信息,请联系您的系统管理员”


Azure 自动化中是否有任何设置(我可以切换)以允许执行自定义应用程序?还是在受限的 Runbook 环境中根本不可能?

4

3 回答 3

3

感谢您伸出援手!不幸的是,目前不支持您在 Azure 自动化运行手册中运行 .exe 的要求。是的,您可以使用 Azure Web 作业。另一位客户最近提出了类似的问题,并通过利用 Azure Web 作业解决了他们的问题。为了澄清,您可以参考这个MSDN 线程。希望这对您有所帮助。

干杯!

于 2019-08-24T16:42:57.337 回答
2

但是你可以

  1. 在应用服务上将控制台应用作为 Azure WebJob 运行,并通过 SCM 端点远程调用它,或者,
  2. 将控制台应用程序编译为 PowerShell cmdlet

    using System.Management.Automation; 
    
    namespace MyApp
    {
      [Cmdlet(VerbsCommunications.Send, "RunApplication")]
      public class RunApplicationCommand : Cmdlet
      {
        protected override void ProcessRecord()
        {
          // App Code goes here
        }
      }
    }
    
    • 将编译后的 DLL 附加到 PowerShell 模块
    • 使用 Modules > Import 将 PowerShell 模型部署到自动化帐户
    • 从 Runbook 调用 cmdlet
于 2019-08-23T15:31:53.643 回答
2

不幸的是,Azure Automation Runbook 目前不支持它。这是 Automation PG 团队回复的反馈,没有更新。

于 2019-08-21T02:04:55.790 回答