Попытка войти в Azure в Powershell - PullRequest
0 голосов
/ 26 июня 2018

Я следую руководству по MS, расположенному здесь , и все проходит правильно, пока мне не нужно войти. Появляется всплывающее окно для моих кредитов и проверяет их, но PowerShell, похоже, не замечает.

Итак, все идет. Установите модуль, импортируйте модуль, проверьте версию, войдите в систему. Ниже описано, что происходит на последних двух шагах.

PS C:\WINDOWS\system32> Get-Module AzureRM -ListAvailable | Select-Object -Property Name,Version,Path

Name    Version Path
----    ------- ----
AzureRM 6.3.0   C:\Program Files\WindowsPowerShell\Modules\AzureRM\6.3.0\AzureRM.psd1


PS C:\WINDOWS\system32> Connect-AzureRmAccount


Account          :
SubscriptionName :
SubscriptionId   :
TenantId         :
Environment      :



PS C:\WINDOWS\system32>

Конечно, это мешает мне делатьи многое другое с Azure с этого момента.

Редактировать: проблема появляется на нескольких рабочих станциях

Ответы [ 7 ]

0 голосов
/ 12 июля 2018

Вы можете попробовать войти, используя учетные данные участника службы.

Участник службы - это приложение, созданное в Active Directory, к которому можно применить правила разрешений.

$pscredential = Get-Credential
Connect-AzureRmAccount -ServicePrincipal -ApplicationId  "http://my-app" -Credential $pscredential -TenantId $tenantid

Подробнее см. здесь .

0 голосов
/ 23 июля 2018

Это происходит, когда вы запускаете

Clear-AzureRMContext  -Scope CurrentUser 

Я не уверен, почему, и я пытаюсь отладить, как исправить проблему.Обходной путь - закрыть окно powershell и заново открыть новые окна powershell, в которых эта команда не выполнялась.


Выполнение команды

Enable-AzureRmContextAutosave -Scope CurrentUser

Исправлена ​​проблема для меня.Это автоматически сохранит ваш контекст для каждого сеанса PowerShell.Если это нежелательно, вы можете запустить команду

Enable-AzureRmContextAutosave -Scope Process  

, которая сохранит контекст лазури только для процесса.В противном случае вам нужно будет обработать

0 голосов
/ 10 июля 2018

У меня такая же проблема.У меня есть два пользователя, таких как многие из вас: пользователь Azure, который является учетной записью " Работа ", а затем учетная запись " Личная ", которая также автоматически создается Office365 и Azure.У меня возникла проблема, когда я пытался использовать свою «личную» учетную запись, в которой у меня есть несколько подписок, добавленных (делегированных).

После многих попыток мне удалось войти в учетную запись «Работа», когда команда «Connect-AzureRmAccount» запрашивает имя пользователя / пароль.Затем я снова использую команду «Connect-AzureRMAccount», но на этот раз я зашел в личный кабинет, и он наконец заработал.

Изображение здесь

Редактировать: Aпозже я нашел лучший способ, поскольку я управляю множеством подписок / арендаторов из одной учетной записи (делегированный доступ):

Поместите «tenantid» в переменную (этот идентификатор можно получить на портале Azure., в моем случае, о возможности изменения каталогов):

Как быстро получить идентификаторы вашего арендатора

$ tenantId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx "

Логин с указанием TenantId: Login-AzureRmAccount -TenantId $ tenantId

Пример 2

0 голосов
/ 09 июля 2018

Единственное, о чем я могу думать, это ниже

Возможно, вы используете Azure Service Management (Azure V1 / Azure Classic), который использует другой модуль для Azure Resource Manager (ARM, Azure V2).

Чтобы установить модуль управления службами Azure:
Install-Module Azure -AllowClobber
Разрешение клоббера, поскольку у вас уже установлен модуль AzureRM

Импортировать модуль Azure в PowerShell:
Import-Module Azure

Вход в ASM:
Add-AzureAccount

Показывает все подписки
Get-AzureSubscriptions

Выбирает подписку, которую вы выделяете для работы в
Select-AzureSubscription

Ответил что-то похожее в приведенной ниже теме:
Login-AzureRmAccount возвращает подписку, но Get-AzureSubscription возвращает пустое

Надеюсь, это поможет

0 голосов
/ 08 июля 2018

Вы пробовали следующее:

Import-Module Microsoft.Powershell.Security

$azureAccountName ="enter username here"
$azurePassword = ConvertTo-SecureString "password here" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)

$decrypt = $psCred.GetNetworkCredential()
$ptpass = $decrypt.Password
Write-Output "Logging in to Azure using $azureAccountName with a password of $ptpass"

Login-AzureRmAccount -Credential $psCred

Если вы получили ошибку с этим кодом, пожалуйста, прокомментируйте все сообщение об ошибке.

0 голосов
/ 27 июня 2018

Вы можете использовать приведенную ниже ссылку для установки последней версии PowerShell:

https://github.com/Azure/azure-powershell/releases

И затем использовать что-то подобное для автоматической передачи пароля имени пользователя и пропуска пользовательского интерфейса.:

$azureAccountName ="enter username here"
$azurePassword = ConvertTo-SecureString "password here" -AsPlainText -Force

$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)

Login-AzureRmAccount -Credential $psCred
0 голосов
/ 26 июня 2018

Вы можете попробовать это ...

Install-Module PoweshellGet -Force

Set-ExecutionPolicy -ExicutionPolicy Remotesigned 

Install-Module AzureRm

Import-Module -Name AzureRm
Login-AzureRmAccount 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...