![](/img/trans.png)
[英]PowerShell: AzureRM - Run Login-AzureRmAccount to login error
[英]Login-AzureRmAccount command not working from hosted c# application
我正在使用Powershell脚本登录到Azure,为此我编写了简单的命令“ Login-AzureRmAccount”,并在单击按钮时将该脚本调用为C#代码。 它在本地可以正常运行,但是当我将此页面托管在服务器上时,身份验证弹出窗口没有打开,并且我收到错误消息,即“当应用程序不在UserInteractive模式下运行时显示模式对话框或表单是无效操作。请指定ServiceNotification或DefaultDesktopOnly样式以显示来自服务应用程序的通知”
由于您的代码正在服务器上运行,因此弹出窗口将尝试在本地系统(服务器)上生成,这显然是不可能的,因为您尚未登录。
正确的方法是按照此答案末尾发布的代码使用Credential对象。 您将需要创建自己的机制(窗体)来捕获用户名和密码。
不幸的是,在发布时,Microsoft ID不支持非交互式流(您要尝试执行的操作)。 您将需要在客户端计算机上运行脚本,登录到服务器或使用适当的凭据设置Azure AD帐户。
使用凭据对象登录到Azure:
#Set up a PSCredential:
$yourPassword = ConvertTo-SecureString "<Your Password>" -AsPlainText –Force
$yourCredential =
New-Object -TypeName pscredential –ArgumentList "<Your UserName>", $yourPassword
# Then use that credential to log in to your Azure account
Login-AzureRmAccount -Credential $yourCredential
-ServicePrincipal –TenantId <Your TenantId>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.