我可以在Azure Runbook(PowerShell或任何其他)中使用自己的/自定义控制台应用程序吗?
当我尝试运行自己的控制台应用程序(在retrieving it from 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环境中根本不可能?
答案 0 :(得分:3)
感谢您与我们联系!不幸的是,当前不支持您在Azure Automation Runbook中运行.exe的要求。是的,您可以使用Azure Web作业。另一位客户最近也提出了类似的要求,并利用Azure Web Job解决了他们的问题。为了澄清起见,您可以参考this MSDN线程。希望对您有帮助。
干杯!
答案 1 :(得分:2)
不幸的是,Azure Automation Runbook暂时不支持它。Here is a feedback由Automation PG团队答复,目前没有更新。
答案 2 :(得分: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
}
}
}