Updating attach MI jumpbox Posh

This commit is contained in:
Jovan Popovic
2018-11-05 22:31:13 +01:00
parent 2f226722d0
commit ebefe2c66c
2 changed files with 39 additions and 11 deletions
@@ -2,12 +2,20 @@ $parameters = $args[0]
$subscriptionId = $parameters['subscriptionId']
$resourceGroupName = $parameters['resourceGroupName']
$virtualMachineName = $parameters['virtualMachineName']
$virtualNetworkName = $parameters['virtualNetworkName']
$managementSubnetName = $parameters['subnetName']
$administratorLogin = $parameters['administratorLogin']
$administratorLoginPassword = $parameters['administratorLoginPassword']
$scriptUrlBase = $args[1]
if($virtualMachineName -eq '')
$virtualMachineName = 'JumpboxVM'
if($managementSubnetName -eq '')
$managementSubnetName = 'Management'
function VerifyPSVersion
{
Write-Host "Verifying PowerShell version, must be 5.0 or higher."
@@ -157,12 +165,20 @@ SelectSubscriptionId -subscriptionId $subscriptionId
$virtualNetwork = LoadVirtualNetwork -resourceGroupName $resourceGroupName -virtualNetworkName $virtualNetworkName
$managementSubnetPrefix = CalculateNextAddressPrefix $virtualNetwork 28
$subnets = $virtualNetwork.Subnets.Name
If($false -eq $subnets.Contains($managementSubnetName))
{
$managementSubnetPrefix = CalculateNextAddressPrefix $virtualNetwork 28
$virtualNetwork.AddressSpace.AddressPrefixes.Add($managementSubnetPrefix)
Add-AzureRmVirtualNetworkSubnetConfig -Name Management -VirtualNetwork $virtualNetwork -AddressPrefix $managementSubnetPrefix | Out-Null
$virtualNetwork.AddressSpace.AddressPrefixes.Add($managementSubnetPrefix)
Add-AzureRmVirtualNetworkSubnetConfig -Name Management -VirtualNetwork $virtualNetwork -AddressPrefix $managementSubnetPrefix | Out-Null
SetVirtualNetwork $virtualNetwork
SetVirtualNetwork $virtualNetwork
Write-Host "Added subnet into VNet." -ForegroundColor Green
} else {
Write-Host "The subnet already exists in the VNet." -ForegroundColor Green
}
Write-Host
@@ -172,6 +188,8 @@ Write-Host "Starting deployment..."
$templateParameters = @{
virtualNetworkName = $virtualNetworkName
managementSubnetPrefix = $managementSubnetPrefix
managementSubnetName = $managementSubnetName
virtualMachineName = $virtualMachineName
administratorLogin = $administratorLogin
administratorLoginPassword = $administratorLoginPassword
}
@@ -32,15 +32,25 @@
"metadata": {
"description": "Enter password."
}
},
"virtualMachineName": {
"type": "string",
"metadata": {
"description": "VM name."
}
},
"managementSubnetName": {
"type": "string",
"metadata": {
"description": "VM subnet name."
}
}
},
"variables": {
"managementSubnetName": "Management",
"virtualMachineName": "JumpBox",
"virtualMachineSize": "Standard_B2s",
"networkInterfaceName": "nicJumpBox",
"publicIPAddressName": "ipJumpBox",
"networkSecurityGroupName": "nsgJumpBox",
"networkInterfaceName": "[concat('nic', parameters('virtualMachineName'))]",
"publicIPAddressName": "[concat('ip', parameters('virtualMachineName'))]",
"networkSecurityGroupName": "[concat('nsg', parameters('virtualMachineName'))]",
"scriptFileUri": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-sqlmi-new-vnet-w-jumpbox/installSSMS.ps1"
},
"resources": [
@@ -54,7 +64,7 @@
],
"properties": {
"osProfile": {
"computerName": "[variables('virtualMachineName')]",
"computerName": "[parameters('virtualMachineName')]",
"adminUsername": "[parameters('administratorLogin')]",
"adminPassword": "[parameters('administratorLoginPassword')]",
"windowsConfiguration": {
@@ -130,7 +140,7 @@
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), variables('managementSubnetName'))]"
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('virtualNetworkName'), parameters('managementSubnetName'))]"
},
"privateIPAllocationMethod": "Dynamic",
"publicIpAddress": {