@@ -89,16 +89,33 @@ function New-AzVm {
89
89
# Create!
90
90
91
91
Write-Info " Ensuring resource group..." ;
92
- $rg = Use-ResourceGroup - ResourceGroup $ResourceGroup - Location $Location ;
92
+ $rg = Use-ResourceGroup `
93
+ - ResourceGroup $ResourceGroup `
94
+ - Location $Location ;
93
95
94
96
Write-Info " Ensuring Vnet..." ;
95
- $vnet = Use-Vnet - Name $VnetName - ResourceGroup $ResourceGroup - Location $Location - SubnetAddressPrefix $SubnetAddressPrefix - VnetAddressPrefix $VnetAddressPrefix ;
97
+ $vnet = Use-Vnet `
98
+ - Name $VnetName `
99
+ - ResourceGroup $ResourceGroup `
100
+ - Location $Location `
101
+ - SubnetAddressPrefix $SubnetAddressPrefix `
102
+ - VnetAddressPrefix $VnetAddressPrefix ;
96
103
97
104
Write-Info " Ensuring public IP..." ;
98
- $pip = Use-Pip - Name $PublicIpName - ResourceGroup $ResourceGroup - Location $Location - DnsLabel $PublicIpDnsLabel - AllocationMethod $PublicIpAllocationMethod - IdleTimeoutInMinutes $PublicIpIdleTimeoutInMinutes ;
105
+ $pip = Use-Pip `
106
+ - Name $PublicIpName `
107
+ - ResourceGroup $ResourceGroup `
108
+ - Location $Location `
109
+ - DnsLabel $PublicIpDnsLabel `
110
+ - AllocationMethod $PublicIpAllocationMethod `
111
+ - IdleTimeoutInMinutes $PublicIpIdleTimeoutInMinutes ;
99
112
100
113
Write-Info " Ensuring NSG..." ;
101
- $nsg = Use-Nsg - Name $NsgName - ResourceGroup $ResourceGroup - Location $Location - OpenPorts $NsgOpenPorts ;
114
+ $nsg = Use-Nsg `
115
+ - Name $NsgName `
116
+ - ResourceGroup $ResourceGroup `
117
+ - Location $Location `
118
+ - OpenPorts $NsgOpenPorts ;
102
119
103
120
Write-Info " Ensuring NIC..." ;
104
121
$nic = Use-Nic `
@@ -113,10 +130,14 @@ function New-AzVm {
113
130
# https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/set-azurermvmosdisk?view=azurermps-4.2.0
114
131
115
132
# Create a virtual machine configuration
116
- $vmConfig = New-AzureRmVMConfig - VMName $Name - VMSize $Size | `
117
- Set-AzureRmVMOperatingSystem - Windows - ComputerName $Name - Credential $creds | `
118
- Set-AzureRmVMSourceImage - PublisherName MicrosoftWindowsServer - Offer WindowsServer - Skus 2016 - Datacenter - Version latest | `
119
- Add-AzureRmVMNetworkInterface - Id $nic.Id
133
+ $vmConfig = New-AzureRmVMConfig - VMName $Name - VMSize $Size `
134
+ | Set-AzureRmVMOperatingSystem - Windows - ComputerName $Name - Credential $creds `
135
+ | Set-AzureRmVMSourceImage `
136
+ - PublisherName MicrosoftWindowsServer `
137
+ - Offer WindowsServer `
138
+ - Skus 2016 - Datacenter `
139
+ - Version latest `
140
+ | Add-AzureRmVMNetworkInterface - Id $nic.Id
120
141
121
142
# Create a virtual machine
122
143
$vm = New-AzureRmVM - ResourceGroupName $resourceGroup - Location $location - VM $vmConfig
@@ -148,7 +169,9 @@ function Use-ResourceGroup {
148
169
[Parameter (Mandatory = $true )] [string ] $Location
149
170
)
150
171
151
- $rg = Get-AzureRmResourceGroup | Where-Object { $_.ResourceGroupName -eq $ResourceGroup } | Select-Object - First 1 - Wait;
172
+ $rg = Get-AzureRmResourceGroup `
173
+ | Where-Object { $_.ResourceGroupName -eq $ResourceGroup } `
174
+ | Select-Object - First 1 - Wait;
152
175
153
176
if ($rg -eq $null ) {
154
177
return New-AzureRmResourceGroup - Name $ResourceGroup - Location $Location ;
@@ -170,10 +193,17 @@ function Use-Vnet {
170
193
171
194
if ($vnet -eq $null ) {
172
195
# Create a subnet configuration.
173
- $subnetConfig = New-AzureRmVirtualNetworkSubnetConfig - Name " $ ( $Name ) Subnet" - AddressPrefix $SubnetAddressPrefix ;
196
+ $subnetConfig = New-AzureRmVirtualNetworkSubnetConfig `
197
+ - Name " $ ( $Name ) Subnet" `
198
+ - AddressPrefix $SubnetAddressPrefix ;
174
199
175
200
# Create a virtual network.
176
- return New-AzureRmVirtualNetwork - ResourceGroupName $ResourceGroup - Location $Location - Name $Name - AddressPrefix $VnetAddressPrefix - Subnet $subnetConfig
201
+ return New-AzureRmVirtualNetwork `
202
+ - ResourceGroupName $ResourceGroup `
203
+ - Location $Location `
204
+ - Name $Name `
205
+ - AddressPrefix $VnetAddressPrefix `
206
+ - Subnet $subnetConfig
177
207
} else {
178
208
return $vnet ;
179
209
}
@@ -193,7 +223,13 @@ function Use-Pip {
193
223
194
224
if ($pip -eq $null ) {
195
225
# Create a public IP address and specify a DNS name.
196
- return New-AzureRmPublicIpAddress - ResourceGroupName $ResourceGroup - Location $Location - Name $Name - DomainNameLabel $DnsLabel - AllocationMethod $AllocationMethod - IdleTimeoutInMinutes $IdleTimeoutInMinutes ;
226
+ return New-AzureRmPublicIpAddress `
227
+ - ResourceGroupName $ResourceGroup `
228
+ - Location $Location `
229
+ - Name $Name `
230
+ - DomainNameLabel $DnsLabel `
231
+ - AllocationMethod $AllocationMethod `
232
+ - IdleTimeoutInMinutes $IdleTimeoutInMinutes ;
197
233
} else {
198
234
return $pip ;
199
235
}
@@ -210,19 +246,33 @@ function Use-Nsg {
210
246
$nsg = Get-AzureRmNetworkSecurityGroup | Where-Object { $_.Name -eq $Name } | Select-Object - First 1 - Wait;
211
247
212
248
if ($nsg -eq $null ) {
213
- $rules = New-Object " System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSSecurityRule]" ;
249
+ $rules = New-Object `
250
+ " System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.PSSecurityRule]" ;
214
251
$priority = 1000 ;
215
252
216
253
foreach ($port in $OpenPorts )
217
254
{
218
- $nsgRule = New-AzureRmNetworkSecurityRuleConfig - Name myNetworkSecurityGroupRuleRDP - Protocol Tcp - Direction Inbound - Priority $priority - SourceAddressPrefix * - SourcePortRange * - DestinationAddressPrefix * - DestinationPortRange $port - Access Allow;
255
+ $nsgRule = New-AzureRmNetworkSecurityRuleConfig `
256
+ - Name myNetworkSecurityGroupRuleRDP `
257
+ - Protocol Tcp `
258
+ - Direction Inbound `
259
+ - Priority $priority `
260
+ - SourceAddressPrefix * `
261
+ - SourcePortRange * `
262
+ - DestinationAddressPrefix * `
263
+ - DestinationPortRange $port `
264
+ - Access Allow;
219
265
$rules.Add ($nsgRule );
220
266
221
267
$priority -- ;
222
268
}
223
269
224
270
# Create an NSG.
225
- return New-AzureRmNetworkSecurityGroup - ResourceGroupName $ResourceGroup - Location $Location - Name $Name - SecurityRules $rules ;
271
+ return New-AzureRmNetworkSecurityGroup `
272
+ - ResourceGroupName $ResourceGroup `
273
+ - Location $Location `
274
+ - Name $Name `
275
+ - SecurityRules $rules ;
226
276
} else {
227
277
return $nsg ;
228
278
}
@@ -242,7 +292,13 @@ function Use-Nic {
242
292
243
293
if ($nic -eq $null ) {
244
294
# Create a virtual network card and associate with public IP address and NSG
245
- return New-AzureRmNetworkInterface - Name $Name - ResourceGroupName $resourceGroup - Location $location - SubnetId $SubnetId - PublicIpAddressId $PublicIpAddressId - NetworkSecurityGroupId $NetworkSecurityGroupId.ToString ();
295
+ return New-AzureRmNetworkInterface `
296
+ - Name $Name `
297
+ - ResourceGroupName $resourceGroup `
298
+ - Location $location `
299
+ - SubnetId $SubnetId `
300
+ - PublicIpAddressId $PublicIpAddressId `
301
+ - NetworkSecurityGroupId $NetworkSecurityGroupId.ToString ();
246
302
} else {
247
303
return $nic ;
248
304
}
0 commit comments