Я создаю шаблон JSON, который развертывает виртуальную машину в Azure, и выполняю сценарий PowerShell через расширение пользовательских сценариев (CSE).Шаблон JSON был взят из здесь с некоторыми изменениями для нужд моей компании.
Одним из параметров в шаблоне JSON является adminPassword
, который настраивает пароль для локальной учетной записи администратора виртуальной машины..
Сценарий PowerShell должен развернуть контроллер домена на виртуальной машине.Это важная часть сценария PS:
Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath C:\Windows\NTDS -DomainMode 7 -DomainName Domain.local -DomainNetbiosName Domain -ForestMode 7 -InstallDns:$true -LogPath C:\Windows\NTDS -SysvolPath C:\Windows\SYSVOL -NoRebootOnCompletion:$false -Force:$true
Команде Install-ADDSForest
требуется переключатель -SafeModeAdministratorPassword
для ее выполнения.Добавление пароля в виде простого текста в начале сценария PS работает, , но простой текстовый пароль не является опцией .Вот как я протестировал:
$SafePassPlain = 'Password'
$SafePass = ConvertTo-SecureString -string $SafePassPlain `
-AsPlainText -force
И введя это в строку Install-ADDSForest
: -SafeModeAdministratorPassword $SafePass
Это часть в шаблоне JSON, где выполняется скрипт:
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.4",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://URLtoFile/DC-Domain.ps1
],
"commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File DC-Domain.ps1"
Я хотел бы передать параметр adminPassword из шаблона JSON в сценарий PS, чтобы он использовал его для переключателя -SafeModeAdministratorPassword
.Возможно ли это?
Я прочитал о ConvertFrom-Json
и проверил: 1 2 , но я не уверен, как реализовать это на моемend ...
После проверки this и this , увидев примеры передачи параметров из шаблона JSON в сценарий PS, я попытался реализовать его следующим образом:не работал:
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File DC-Domain1.ps1 -SafeModeAdministratorPassword ',parameters('adminPassword'))]"
Любая помощь будет оценена ...