Изменение свойства windowsConfiguration.winRM.listeners не допускается
Я пытаюсь добавить поддержку WinRs, используя общедоступный шаблон ARM
Я получаю следующую ошибку
Changing property 'windowsConfiguration.winRM.listeners' is not allowed
Затем я попытался использовать скрипт powershell, упомянутый в конце этой статьи. Я не уверен, что только я обнаружил, что скрипт немного неправильный, потому что он не был плохим, поэтому я изменил его, как показано ниже
$vm = Get-AzureRmVM -ResourceGroupName "dscwitharm" -Name "dscwitharm"
$credential = Get-Credential
$secretURL = (Get-AzureKeyVaultSecret -VaultName "nithishvault" -Name "dscwitharmwinrs").Id
$vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName "dscwitharm" -Credential $credential -WinRMHttps -WinRMCertificateUrl $secretURL
$sourceVaultId = (Get-AzureRmKeyVault -ResourceGroupName "dscwitharm" -VaultName "nithishvault").ResourceId
$CertificateStore = "My"
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $sourceVaultId -CertificateStore $CertificateStore -CertificateUrl $secretURL
Update-AzureRmVM -ResourceGroupName "dscwitharm" -VM $vm
И я все еще получаю ту же ошибку. Что мне не хватает?
> Changing property 'windowsConfiguration.winRM.listeners' is not allowed
1 ответ
Кажется, это известная проблема, и я нашел обходной путь. В следующем шаблоне используется расширение customScript для запуска PowerShell для создания самозаверяющего сертификата и настройки WinRm через HTTPS.
https://github.com/Azure/azure-quickstart-templates/tree/master/201-vm-winrm-windows
Этот подход действительно отличается от того, что в документации по документации рекомендует ARM Tempate.