我有一个非常奇怪的问题:
我有一个 Azure 云服务,其中有一个 Worker 角色。在这个工作角色中,我想以管理员身份启动命令行,并带有一些参数,这些参数存储在“命令”变量中。它也可以是前 ipconfig。
using (var p = new Process())
{
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.CreateNoWindow = false;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.Arguments = "cmd /K " + command;
p.Start();
}
这个场景在今年年初之前运行良好,但现在我必须为应用程序实现一些新功能,所以我克隆了存储库并打开了解决方案。
我最近将我的 Azure SDK 升级到 2.6,所以我也更新了我的云服务。在本地一切正常,所以我将它部署到临时环境。
但是命令行客户端没有像我预期的那样打开。我看不到 cmd 的任务栏按钮/图标,也无法在任务管理器的进程窗口中看到它。但是,它出现在详细信息窗口中。发生了什么,为什么我看不到 cmd 窗口和里面的结果?
我知道Guest OS版本也更新了,会不会有问题?我想使用最新的 Azure SDK,当然还有最新的来宾操作系统。
我认为它与一些 UAC 权限有关,但我不确定。那么为什么我现在在 rdp 上看不到打开的 cmd 窗口呢?工人角色的架构会发生哪些变化?
编辑
Windows Server 2012 R2 的最新版本是 4.19。我可以从 Family 4 中使用的最旧版本是 4.17 版,但使用旧版本并不能解决我的问题。
当给定消息从队列发送到工作人员时,我想让 Pageant 在启动时自动加载密钥:http: //the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter9.html#pageant-cmdline
是的,我之前问过这个问题,在你的帮助下我可以解决这个问题,但是这个解决方案现在不起作用:从 Azure 本地存储资源将私钥文件添加到 Pageant
我认为可以用启动脚本解决这个问题吗?