【发布时间】:2015-06-30 12:54:22
【问题描述】:
现在我可以在本地运行时从我的 ASP MVC Web 应用程序执行 Powershell Azure cmdlet 和脚本,但是当我部署到 Azure 网站时,Powershell Azure cmdlet 不起作用。
错误信息:
“Get-AzureSubscription”一词未被识别为 cmdlet、函数、脚本文件或可运行的程序。检查拼写 的名称,或者如果包含路径,请验证该路径是 正确并重试。
我猜它不起作用,因为 Web 服务器上没有安装“azure cmdlet”
我能做什么?有什么建议吗?
再次嗨,我现在在 Azure 虚拟机中测试托管在 IIS8 中的应用程序,但是当应用程序部署到服务器时,我无法使用 Azure Cmdlet,因为 Azure cmdlet 已经安装在虚拟机上。
当我使用 Visual Studio 在 VM 中调试应用程序时,我可以使用 cmdlet,但部署应用程序时无法识别 cmdlet。
为了使用 Azure cmdlet,我还需要设置其他一些东西???
这是一个函数的示例,该函数使用结果填充下拉列表,在 localhost 中它工作正常,在 IIS 中。
public IEnumerable<SelectListItem> getImageFamily()
{
var shell = PowerShell.Create();
shell.Commands.AddScript("C:\\inetpub\\wwwroot\\appName\Scripts\\test.ps1");
Collection<PSObject> results = shell.Invoke();
List<SelectListItem> items = new List<SelectListItem>();
foreach (var psObject in results)
{
string image = psObject.BaseObject.ToString();
items.Add(new SelectListItem { Text = image, Value = image });
}
return items;
}
那么这就是简单的脚本
(Get-AzureVMImage).ImageFamily | sort -Unique
我也试过
Import-Module -Name "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure"
(Get-AzureVMImage).ImageFamily | sort -Unique
也试过了(我删了一些代码...)
public IEnumerable<SelectListItem> getImageFamily()
{
...
shell.Commands.AddScript("(Get-AzureVMImage).ImageFamily | sort -Unique");
Collection<PSObject> results = shell.Invoke();
...
}
【问题讨论】:
-
你想做什么?我对 Azure 网站了解不多,但您确实需要安装 azure powershell 才能使用这些 cmdlet:azure.microsoft.com/en-us/documentation/articles/…
标签: asp.net powershell azure azure-web-app-service