az devops 登录挂起

问题描述 投票:0回答:4

我正在使用 Windows 10、Azure PowerShell Az 模块、DevOps 扩展 0.18.0

我已登录 DevOps 实例并能够运行所有相关命令。 现在,我需要登录到不同的组织/项目。 每次执行登录子命令时,窗口都会挂起并锁定,我必须重新启动 PowerShell ISE 才能重试。

我正在使用的命令(我已经尝试了几种变体)是:

> az login 
> $env:AZURE_DEVOPS_EXT_PAT ='{PAT}' 
> az devops login --organization https://dev.azure.com/{org} --debug

挂在这里!

调试日志如下

az devops 登录 --organization https://dev.azure.com/{org} --debug

CategoryInfo          : NotSpecified: (Command argumen...nn', '--debug']:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError   Event: Cli.PreExecute [] Event: CommandParser.OnGlobalArgumentsCreate
[<function CLILogging.on_global_arguments at 0x03A171E0>, <function 
OutputProducer.on_global_arguments at 0x03B3AA98>, <function
CLIQuery.on_global_arguments at 0x03B5CCD8>] Event:
CommandInvoker.OnPreCommandTableCreate [] Modules found from index for
'devops': ['azext_devops'] Loading command modules: Name              
Load Time    Groups  Commands Total (0)                 0.000        
0         0 These extensions are not installed and will be skipped:
['azext_ai_examples', 'azext_ai_did_you_mean_this'] Loading
extensions: Name                  Load Time    Groups  Commands 
Directory azure-devops              0.110        60       191 
C:\Users\{username}\.azure\cliextensions\azure-devops Total (1)          
0.110        60       191   Loaded 60 groups, 191 commands. Found a match in the command table for 'devops login' Event:
CommandInvoker.OnPreCommandTableTruncate [<function
AzCliLogging.init_command_file_logging at 0x03C2B978>]
az_command_data_logger : command args: devops login --organization {}
--debug metadata file logging enabled - writing logs to 'C:\Users\{username}\.azure\commands'. Event:
CommandInvoker.OnPreArgumentLoad [<function
register_global_subscription_argument.<locals>.add_subscription_parameter
at 0x03D69660>] Event: CommandInvoker.OnPostArgumentLoad [] Event:
CommandInvoker.OnPostCommandTableCreate [<function
register_ids_argument.<locals>.add_ids_arguments at 0x03D69618>,
<function  register_cache_arguments.<locals>.add_cache_arguments at
0x03D69E40>] Event: CommandInvoker.OnCommandTableLoaded [] Event:
CommandInvoker.OnPreParseArgs [] Event: CommandInvoker.OnPostParseArgs
[<function OutputProducer.handle_output_argument at 0x03B3AAE0>,
<function CLIQuery.handle_query_parameter  at 0x03B5CD20>, <function
register_ids_argument.<locals>.parse_ids_arguments at 0x03D69DF8>,
<function DevCommandsLoader.post_parse_args at  0x03CF6150>]
az_command_data_logger : extension name: azure-devops
az_command_data_logger : extension version: 0.18.0
  • 我已重新启动 Windows 10
  • 我已退出 az(az 注销)
  • 我已退出 devops(az devops logout)
  • 我始终以提升的权限运行 PowerShell ISE (管理员)

我已经确认,在这一切之后,我仍然可以从我开始的组织/项目访问 DevOps(管道、版本等)。所以注销也失败。

发生什么事了?有什么想法为什么会发生这种情况吗?

azure-devops azure-devops-extensions
4个回答
1
投票

如果设置了

$env:AZURE_DEVOPS_EXT_PAT='{PAT}'
,则无需运行
az devops login
。您可以开始使用您想要的命令。例如:
az repos list --org https://dev.azure.com/{ORG} --project {PROJECT}
.

它似乎挂起,因为它无法安装 keyring~=17.1.1 包(及其依赖项)。您可以像这样手动添加该包:

py -m pip install --target ~\.azure\cliextensions\azure-devops keyring~=17.1.1

GitHub 上的问题:[Bug]

az devops login
除非以管理员身份运行,否则第一次会失败 · 问题 #438 · Azure/azure-devops-cli-extension

指定密钥环包版本的文件:azure-devops/azext_devops/dev/common/pip_helper.py


0
投票

现在,我需要登录到不同的组织/项目。

场景 1: 目标组织/项目仍在同一用户帐户下

如果您要使用的目标组织/项目仍然是在同一个用户帐户下,此时您不需要注销并重新登录。

只需运行以下命令即可使用以下命令更改默认组织/项目:

az devops configure --defaults organization=https://dev.azure.com/{org name}

然后您将可以与另一个组织/项目合作,而无需重新登录。

场景2:目标组织/项目位于另一个用户帐户下

如果实际情况是您必须更改为使用另一个帐户登录才能使用该组织/项目,请先运行以下命令注销:

az logout --username "{another account}"

然后重新运行

az login
以使用另一个帐户地址登录。你现在应该成功了。

enter image description here


0
投票

我的问题是我使用的是另一个没有管理员访问权限的 Windows 用户帐户。 我将以管理员身份运行 powershell 并提供其他 Windows 凭据进行身份验证。 但以这种方式运行 powershell 并没有打开浏览器进行登录。 如果我不是以管理员身份运行它,那么它运行正常并且提示有效。


0
投票

我通过

az --version
看到我使用的是旧版本。升级后它起作用了(通过输出升级命令
az --version

© www.soinside.com 2019 - 2024. All rights reserved.