@@ -78,49 +78,31 @@ function Test-VirtualMachineScaleSet
78
78
$stoaccount = Get-AzureRMStorageAccount - ResourceGroupName $rgname - Name $stoname ;
79
79
80
80
# New VMSS Parameters
81
- $vmss = New-AzureComputeParameterObject - FullName Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSet;
82
- $vmss.Name = ' vmss' + $rgname ;
83
- $vmss.Type = ' Microsoft.Compute/virtualMachineScaleSets' ;
84
- $vmss.Location = $loc ;
85
-
86
- $vmss.VirtualMachineProfile = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetVMProfile;
87
- $vmss.VirtualMachineProfile.ExtensionProfile = $null ;
88
- $vmss.Sku = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetSku;
89
- $vmss.Sku.Capacity = 2 ;
90
- $vmss.Sku.Name = ' Standard_A0' ;
91
- $vmss.UpgradePolicy = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetUpgradePolicy;
92
- $vmss.UpgradePolicy.Mode = ' automatic' ;
93
-
94
- $vmss.VirtualMachineProfile.NetworkProfile = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetNetworkProfile;
95
- $ipCfg = New-Object Microsoft.Azure.Management.Compute.Models.VirtualMachineScaleSetIPConfiguration;
96
- $ipcfg.Name = ' test' ;
97
- $ipCfg.LoadBalancerBackendAddressPools = $null ;
98
- $ipCfg.Subnet = New-Object Microsoft.Azure.Management.Compute.Models.ApiEntityReference;
99
- $ipCfg.Subnet.ReferenceUri = $subnetId ;
100
- $netCfg = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetNetworkConfiguration;
101
- $netCfg.Name = ' test' ;
102
- $netCfg.Primary = $true ;
103
- $netCfg.IPConfigurations.Add ($ipCfg );
104
- $vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Add ($netCfg );
105
-
106
- $vmss.VirtualMachineProfile.OSProfile = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetOSProfile;
107
- $vmss.VirtualMachineProfile.OSProfile.ComputerNamePrefix = ' test' ;
108
- $vmss.VirtualMachineProfile.OSProfile.AdminUsername = ' Foo12' ;
109
- $vmss.VirtualMachineProfile.OSProfile.AdminPassword = " BaR@123" + $rgname ;
110
-
111
- $vmss.VirtualMachineProfile.StorageProfile = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetStorageProfile;
81
+ $vmssName = ' vmss' + $rgname ;
82
+ $vmssType = ' Microsoft.Compute/virtualMachineScaleSets' ;
83
+
84
+ $adminUsername = ' Foo12' ;
85
+ $adminPassword = " BaR@123" + $rgname ;
86
+
112
87
$imgRef = Get-DefaultCRPImage - loc $loc ;
113
- $vmss.VirtualMachineProfile.StorageProfile.ImageReference = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetImageReference;
114
- $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Publisher = $imgRef.PublisherName ;
115
- $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Offer = $imgRef.Offer ;
116
- $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Sku = $imgRef.Skus ;
117
- $vmss.VirtualMachineProfile.StorageProfile.ImageReference.Version = $imgRef.Version ;
118
- $vmss.VirtualMachineProfile.StorageProfile.OSDisk = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetOSDisk;
119
- $vmss.VirtualMachineProfile.StorageProfile.OSDisk.Caching = ' None' ;
120
- $vmss.VirtualMachineProfile.StorageProfile.OSDisk.CreateOption = ' FromImage' ;
121
- $vmss.VirtualMachineProfile.StorageProfile.OSDisk.Name = ' test' ;
122
- $vhdContainer = " https://" + $stoname + " .blob.core.windows.net/" + $vmss.Name ;
123
- $vmss.VirtualMachineProfile.StorageProfile.OSDisk.VirtualHardDiskContainers.Add ($vhdContainer );
88
+ $vhdContainer = " https://" + $stoname + " .blob.core.windows.net/" + $vmssName ;
89
+
90
+ $aucComponentName = " Microsoft-Windows-Shell-Setup" ;
91
+ $aucPassName = " oobeSystem" ;
92
+ $aucSetting = " AutoLogon" ;
93
+ $aucContent = " <UserAccounts><AdministratorPassword><Value>password</Value><PlainText>true</PlainText></AdministratorPassword></UserAccounts>" ;
94
+
95
+ $ipCfg = New-AzureVmssIPConfigurationsConfig - Name ' test' - LoadBalancerBackendAddressPoolsReferenceUri $null - SubnetReferenceUri $subnetId ;
96
+
97
+ $vmss = New-AzureVmssConfig - Name $vmssName - Type $vmssType - Location $loc `
98
+ - SkuCapacity 2 - SkuName ' Standard_A0' - UpgradePolicyMode ' automatic' - NetworkInterfaceConfigurations $netCfg `
99
+ | Add-AzureVmssNetworkInterfaceConfiguration - Name ' test' - Primary $true - IPConfigurations $ipCfg `
100
+ | Set-AzureVmssOSProfile - ComputerNamePrefix ' test' - AdminUsername $adminUsername - AdminPassword $adminPassword `
101
+ | Set-AzureVmssStorageProfile - Name ' test' - CreateOption ' FromImage' - Caching ' None' `
102
+ - ImageReferenceOffer $imgRef.Offer - ImageReferenceSku $imgRef.Skus - ImageReferenceVersion $imgRef.Version `
103
+ - ImageReferencePublisher $imgRef.PublisherName - VirtualHardDiskContainers $vhdContainer `
104
+ | Add-AzureVmssAdditionalUnattendContent - ComponentName $aucComponentName - Content $aucContent - PassName $aucPassName - SettingName $aucSetting `
105
+ | Remove-AzureVmssAdditionalUnattendContent - ComponentName $aucComponentName ;
124
106
125
107
$st = New-AzureRmVmss - ResourceGroupName $rgname - VirtualMachineScaleSetCreateOrUpdateParameters $vmss ;
126
108
@@ -136,7 +118,6 @@ function Test-VirtualMachineScaleSet
136
118
137
119
$argList = New-AzureComputeArgumentList - MethodName VirtualMachineScaleSetListAll;
138
120
$args = ($argList | select - ExpandProperty Value);
139
- # $vmssList = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetListAll -ArgumentList $args;
140
121
$vmssList = Get-AzureRmVmssAllList ;
141
122
Assert-True { ($vmssList.VirtualMachineScaleSets | select - ExpandProperty Name) -contains $vmss.Name };
142
123
$output = $vmssList | Out-String ;
@@ -165,7 +146,6 @@ function Test-VirtualMachineScaleSet
165
146
$argList [2 ].Value = $rgname ;
166
147
$argList [4 ].Value = $vmss.Name ;
167
148
$args = ($argList | select - ExpandProperty Value);
168
- # $vmListResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetVMList -ArgumentList $args;
169
149
$vmListResult = Get-AzureRmVmssVMList - ResourceGroupName $rgname - VirtualMachineScaleSetName $vmss.Name ;
170
150
$output = $vmListResult | Out-String ;
171
151
Write-Verbose ($output );
@@ -214,26 +194,13 @@ function Test-VirtualMachineScaleSet
214
194
$instanceListParam += $i.ToString ();
215
195
}
216
196
217
- $argList = New-AzureComputeArgumentList - MethodName VirtualMachineScaleSetPowerOffInstances;
218
- $argList [0 ].Value = $rgname ;
219
- $argList [1 ].Value = $vmss.Name ;
220
- $argList [2 ].Value = $instanceListParam ;
221
- $args = @ ()
222
- for ($i = 0 ; $i -lt $argList.Length ; $i ++ )
223
- {
224
- $args += , $argList [$i ].Value;
225
- }
226
-
227
- # $vmssResult = Invoke-AzureComputeMethod -MethodName VirtualMachineScaleSetPowerOffInstances -ArgumentList $args;
228
197
$st = Stop-AzureRmVmssInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
229
198
$st = Stop-AzureRmVmssInstancesWithDeallocation - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
230
199
$st = Start-AzureRmVmssInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
231
200
$st = Restart-AzureRmVmssInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
232
201
233
202
# Remove
234
- $instanceListParam = New-AzureComputeParameterObject - FriendlyName VirtualMachineScaleSetVMInstanceIDs;
235
- $instanceListParam.InstanceIDs.Add (1 );
236
- $st = Remove-AzureRmVmssInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs $instanceListParam ;
203
+ $st = Remove-AzureRmVmssInstances - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - VMInstanceIDs 1 ;
237
204
Assert-ThrowsContains { $st = Remove-AzureRmVmssVM - ResourceGroupName $rgname - VMScaleSetName $vmss.Name - InstanceId 0 } " cannot be deleted because it is the last remaining" ;
238
205
$st = Remove-AzureRmVmss - ResourceGroupName $rgname - VMScaleSetName $vmss.Name ;
239
206
}
0 commit comments