Jul 10 2020 08:36 AM
Hey guys. I'm trying to deploy a VM using the ARM template. These are the commands below that was run in PowerShell.
echo "New-AzResourceGroupDeployment -Name "dplisvvm$postfix" -ResourceGroupName "$rgName" -TemplateFile "VHDtoImage.json" -userStorageAccountName "$storageaccount" -dnsNameForPublicIP "$vmName" -subscriptionId "$mysubid" -location "$location" -vmName "$vmName" -vaultName "$kvname" -vaultResourceGroup "$rgName" -certificateUrl https://vaulto.vault.azure.net/keys/Arthur/cf9ba64e6bb24adfa943ed9d5ab72ce0.Id -vhdUrl "$vhdUrl" -vmSize "Standard\_A2" -publicIPAddressName "myPublicIP1" -virtualNetworkName "myVNET1" -nicName "myNIC1" -adminUserName "Aruzki19" -adminPassword "Antwaynio97101#"
New-AzResourceGroupDeployment -Name "dplisvvm$postfix" -ResourceGroupName "$rgName" -TemplateFile "VHDtoImage.json" -userStorageAccountName "$storageaccount" -dnsNameForPublicIP "$vmName" -subscriptionId "$mysubid" -location "$location" -vmName "$vmName" -vaultName "$kvname" -vaultResourceGroup "$rgName" -certificateUrl https://vaulto.vault.azure.net/keys/Arthur/cf9ba64e6bb24adfa943ed9d5ab72ce0.Id -vhdUrl "$vhdUrl" -vmSize "Standard\_A2" -publicIPAddressName "myPublicIP1" -virtualNetworkName "myVNET1" -nicName "myNIC1" -adminUserName "Aruzki19" -adminPassword "Antwaynio97101#"
And below is the error I received
New-AzResourceGroupDeployment: Cannot bind parameter 'adminPassword'. Cannot convert the "Antwaynio97101#" value of type "System.String" to type "System.Security.SecureString".
Can anyone assist?
Jul 11 2020 07:21 AM - edited Jul 11 2020 02:11 PM
Hello @Antwaynio97, You are passing the password as a plain text. Rather convert it to a secure string and try again. Something like this -
Jul 18 2020 08:39 AM
Hello @hkarthik_7 . Thanks for the assistance. I somehow encountered another challenge in deploying the VM from the generalized image. Please see screenshot attached.
Jul 19 2020 10:44 PM
Hi @Antwaynio97 , this is because there are no parameters like -adminUsername, -adminPassword and similar values to the cmdlet New-AzResourceGroupDeployment. You have to specify the admin username for VM in the parameters template and save your password in Azure key vault and refer the URL to the secret in password section. Please specify all the certificates related values, SKU size of the VM, admin username, password, location and encapsulate everything in a parameters file. Then, you can run the cmdlet like
New-AzResourceGroupDeployment -ResourceGroupName "ContosoEngineering" -TemplateFile "D:\Azure\Templates\EngineeringSite.json" -TemplateParameterFile "D:\Azure\Templates\EngSiteParms.json"
Please run "help New-AzResourceGroupDeployment -Full" to know the complete usage of cmdlet. You can export the template and parameter files, edit them according to your need and use the command to deploy.