Невозможно использовать Keyvault Secrets для присоединения к домену - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь присоединиться к домену с помощью скриптового процесса, где имя пользователя и пароль скрыты.

Я подумал, что использование Keyvault в Azure будет лучшим способом, однако при использовании приведенного ниже сценария это даетмне некоторые ошибки.Возможно ли это, или я поступаю неправильно?

Это виртуальные машины Azure

$AdminUser = 'https://<Keyvault>.vault.azure.net:443/secrets/AdminUser/de7d74df74ff4099b0bd7422c171a4fe'
$AdminPassName = 'https://<Keyvault>.vault.azure.net:443/secrets/SQLPassword/f394ded0cc16482096bc181f5ab650bd'

$mycred = New-Object System.Management.Automation.PSCredential ("$($AdminUser.SecretValueText)", $AdminPass.SecretValue)

$domain = 'hmr.loc'

Add-Computer -DomainName $domain -Credential $mycred

Я получаю ошибку

New-Object : Exception calling ".ctor" with "2" argument(s): "Cannot process argument because the value of argument "userName" is not valid. Change the value of the 
"userName" argument and run the operation again."
At line:1 char:11
+ $mycred = New-Object System.Management.Automation.PSCredential ("$($A ...
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

Я думаю, этоделать с этой строкой ...

$mycred = New-Object System.Management.Automation.PSCredential ("$($AdminUser.SecretValueText)", $AdminPass.SecretValue)

Заранее спасибо ..

1 Ответ

0 голосов
/ 20 мая 2018

Ваш подход не имеет смысла (идея делает).Вам необходимо выполнить вызовы rest для секретного URI, а не просто объявить URI и использовать его в качестве переменной.Таким образом, у вас обычно есть 2 подхода:

  1. Выполните остальные вызовы самостоятельно (в этом случае вам придется самостоятельно выполнять аутентификацию)
  2. Используйте командлет powershell для получения Key Vault Secret, но вы будетенеобходимо сначала пройти аутентификацию в Azure с достаточными правами для выполнения этого вызова

В любом случае вам придется передавать некоторые данные, которые вы будете использовать для аутентификации, поэтому вам, вероятно, придется сделать шаг назад и использоватьсценарии \ сущности более высокого уровня, чтобы обрабатывать это для вас и безопасно передавать user \ password в ваш скрипт.

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