gpt4 book ai didi

c# - Login-AzureRmAccount 命令无法从托管 C# 应用程序运行

转载 作者:太空宇宙 更新时间:2023-11-03 15:16:42 24 4
gpt4 key购买 nike

我正在使用 powershell 脚本登录到 azure,为此我编写了简单的命令“Login-AzureRmAccount”,并在单击按钮时将该脚本调用到 C# 代码中。它在本地工作正常,但是当我在服务器上托管此页面时,身份验证弹出窗口未打开,并且我收到错误消息,即“当应用程序未在 UserInteractive 模式下运行时显示模式对话框或表单不是有效的操作。指定ServiceNotification 或 DefaultDesktopOnly 样式显示来自服务应用程序的通知”

最佳答案

由于您的代码在服务器上运行,因此弹出窗口将尝试在本地系统(服务器)上生成,这显然是不可能的,因为您尚未登录。

执行此操作的正确方法是根据本答案末尾发布的代码使用 Credential 对象。您将需要创建自己的机制(表单)来捕获用户名和密码。

不幸的是,在发布时,Microsoft ID 不支持非交互式流程(您正在尝试执行的操作)。您需要在客户端计算机上运行脚本、登录服务器或使用适当的凭据设置 Azure AD 帐户。

使用 Credential 对象登录 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>

关于c# - Login-AzureRmAccount 命令无法从托管 C# 应用程序运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38823383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com