Передача учетных данных в шаблон менеджера ресурсов Azure - PullRequest
0 голосов
/ 21 февраля 2019

Согласно документации Microsoft settings-vs-protectedsettings свойства, перечисленные в параметрах protectedSettings, зашифрованы сертификатом и не отображаются в виде простого текста в файле настроек на ВМ.Однако мое развертывание завершается с ошибкой ниже

new-azResourceGroupDeployment: 00:08:49 - Ресурс Microsoft.Compute / virtualMachines / extensions 'DI-DEV-UKW-DB1 / Microsoft.Powershell.DSC'ошибка с сообщением' {
"status": "Failed", "error": {"code": "ResourceDeploymentFailure", "message": "Операция ресурса завершена с состоянием обеспечения терминала" Failed ".", "подробнее ": [{" code ":" VMExtensionProvisioningError "," message ":" VM сообщила об ошибке при обработке расширения "Microsoft.Powershell.DSC". Сообщение об ошибке: \ "Расширение DSC получило неверный ввод: произошли ошибки компиляцииво время обработки конфигурации 'SQLConfig'.Пожалуйста, просмотрите сообщения об ошибках в потоке ошибок и измените свой код конфигурации соответствующим образом.Свойство обработки ошибки System.InvalidOperationException 'PsDscRunAsCredential' OF TYPE 'SqlServerRole': преобразование и хранение зашифрованных паролей в виде простого текста не рекомендуется.Дополнительные сведения о защите учетных данных в файле MOF см. В блоге MSDN: http://go.microsoft.com/fwlink/?LinkId=393729\nAt C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.77.0.0 \ DSCWork \ sqlserverconfig.ps1.19 \ sqlserverconfig.ps1: 110 char: 9 \ n + SqlServerRole Преобразование и хранение зашифрованных паролей в виде простого текста не рекомендуется.Дополнительные сведения о защите учетных данных в файле MOF см. В блоге MSDN: http://go.microsoft.com/fwlink/?LinkId=393729 Не удается найти путь «HKLM: \ SOFTWARE \ Microsoft \ PowerShell \ 3 \ DSC», так как он не существует.Не удается найти путь «HKLM: \ SOFTWARE \ Microsoft \ PowerShell \ 3 \ DSC», поскольку он не существует.Свойство обработки ошибки System.InvalidOperationException 'PsDscRunAsCredential' OF TYPE 'SqlServerLogin': преобразование и хранение зашифрованных паролей в виде простого текста не рекомендуется.Дополнительные сведения о защите учетных данных в файле MOF см. В блоге MSDN: http://go.microsoft.com/fwlink/?LinkId=393729\nAt C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.77.0.0 \ DSCWork \ sqlserverconfig.ps1.19 \ sqlserverconfig.ps1: 100 char: 9 \ n + SqlServerLogin Преобразование и хранение зашифрованных паролей в виде простого текста не рекомендуется.Дополнительные сведения о защите учетных данных в файле MOF см. В блоге MSDN: http://go.microsoft.com/fwlink/?LinkId=393729 Не удается найти путь «HKLM: \ SOFTWARE \ Microsoft \ PowerShell \ 3 \ DSC», поскольку он не существует.Не удается найти путь «HKLM: \ SOFTWARE \ Microsoft \ PowerShell \ 3 \ DSC», поскольку он не существует. \ N \ nДругая распространенная ошибка - указать параметры типа PSCredential без явного типа.Обязательно используйте типизированный параметр в конфигурации DSC, например: \ n \ n configuration Пример {\ n param ([PSCredential] $ UserAccount) \ n ... \ n}. \ NПожалуйста, исправьте ввод и повторите попытку, выполниврасширение. \ ""}]}}

см. Ссылку для моего кода Скрипты

1 Ответ

0 голосов
/ 21 февраля 2019

в этом случае ошибка произошла из-за того, что dsc попытался удалить пользователя SA.это потому, что вы неправильно настроили его.Справка: https://github.com/PowerShell/SqlServerDsc#sqlserverrole

вам нужно использовать MembersToInclude вместо членов, так как участники заменят существующих членов на все, что вы укажете.

Я бы предложил попробовать скомпилировать его локально с помощьюточно такие же входы (на том же вм) и посмотрите, работает ли он.Еще один способ проверить это - удалить ресурсы один за другим, таким образом, можно надеяться, что вы можете сузить его до конкретного ресурса, который не работает.Еще одна вещь: попробуйте сделать это:

    [System.Management.Automation.PSCredential]$DomainCreds = New-Object System.Management.Automation.PSCredential ("domain_name\$($AdminCredentials.UserName)", $AdminCredentials.Password)

и использовать эту переменную $ domainCreds в вашей конфигурации, а не adminCredentials.

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