@@ -101,7 +101,7 @@ public override void ExecuteCmdlet()
101
101
this . _Helper . WriteVerbose ( "Retrieving VM..." ) ;
102
102
103
103
var selectedVM = ComputeClient . ComputeManagementClient . VirtualMachines . Get ( this . ResourceGroupName , this . VMName ) ;
104
- var selectedVMStatus = ComputeClient . ComputeManagementClient . VirtualMachines . GetWithInstanceView ( this . ResourceGroupName , this . VMName ) ;
104
+ var selectedVMStatus = ComputeClient . ComputeManagementClient . VirtualMachines . GetWithInstanceView ( this . ResourceGroupName , this . VMName ) . Body . InstanceView ;
105
105
106
106
if ( selectedVM == null )
107
107
{
@@ -299,7 +299,7 @@ public override void ExecuteCmdlet()
299
299
return ;
300
300
}
301
301
302
- selectedVM = SetAzureVMDiagnosticsExtensionC ( selectedVM , wadstorage . Key , wadstorage . Value ) ;
302
+ selectedVM = SetAzureVMDiagnosticsExtensionC ( selectedVM , selectedVMStatus , wadstorage . Key , wadstorage . Value ) ;
303
303
304
304
var storage = this . _Helper . GetStorageAccountFromCache ( wadstorage . Key ) ;
305
305
var endpoint = this . _Helper . GetAzureSAPTableEndpoint ( storage ) ;
@@ -324,13 +324,16 @@ public override void ExecuteCmdlet()
324
324
this . _Helper . WriteHost ( "[INFO] Updating Azure Enhanced Monitoring Extension for SAP configuration - Please wait..." ) ;
325
325
326
326
WriteVerbose ( "Installing AEM extension" ) ;
327
+
328
+ Version aemVersion = this . _Helper . GetExtensionVersion ( selectedVM , selectedVMStatus , OSType , AEMExtensionConstants . AEMExtensionType [ OSType ] , AEMExtensionConstants . AEMExtensionPublisher [ OSType ] ) ;
329
+
327
330
var op = this . VirtualMachineExtensionClient . CreateOrUpdateWithHttpMessagesAsync (
328
331
this . ResourceGroupName , this . VMName , AEMExtensionConstants . AEMExtensionDefaultName [ OSType ] ,
329
332
new VirtualMachineExtension ( )
330
333
{
331
334
Publisher = AEMExtensionConstants . AEMExtensionPublisher [ OSType ] ,
332
335
VirtualMachineExtensionType = AEMExtensionConstants . AEMExtensionType [ OSType ] ,
333
- TypeHandlerVersion = AEMExtensionConstants . AEMExtensionVersion [ OSType ] ,
336
+ TypeHandlerVersion = aemVersion . ToString ( 2 ) ,
334
337
Settings = jsonPublicConfig ,
335
338
ProtectedSettings = jsonPrivateConfig ,
336
339
Location = selectedVM . Location ,
@@ -345,13 +348,13 @@ public override void ExecuteCmdlet()
345
348
} ) ;
346
349
}
347
350
348
- private VirtualMachine SetAzureVMDiagnosticsExtensionC ( VirtualMachine selectedVM , string storageAccountName , string storageAccountKey )
351
+ private VirtualMachine SetAzureVMDiagnosticsExtensionC ( VirtualMachine vm , VirtualMachineInstanceView vmStatus , string storageAccountName , string storageAccountKey )
349
352
{
350
353
System . Xml . XmlDocument xpublicConfig = null ;
351
354
352
355
var extensionName = AEMExtensionConstants . WADExtensionDefaultName [ this . OSType ] ;
353
356
354
- var extTemp = this . _Helper . GetExtension ( selectedVM ,
357
+ var extTemp = this . _Helper . GetExtension ( vm ,
355
358
AEMExtensionConstants . WADExtensionType [ this . OSType ] , AEMExtensionConstants . WADExtensionPublisher [ OSType ] ) ;
356
359
object publicConf = null ;
357
360
if ( extTemp != null )
@@ -417,18 +420,22 @@ private VirtualMachine SetAzureVMDiagnosticsExtensionC(VirtualMachine selectedVM
417
420
jPrivateConfig . Add ( "storageAccountEndPoint" , new Newtonsoft . Json . Linq . JValue ( endpoint ) ) ;
418
421
419
422
WriteVerbose ( "Installing WAD extension" ) ;
423
+
424
+ Version wadVersion = this . _Helper . GetExtensionVersion ( vm , vmStatus , OSType ,
425
+ AEMExtensionConstants . WADExtensionType [ this . OSType ] , AEMExtensionConstants . WADExtensionPublisher [ this . OSType ] ) ;
426
+
420
427
VirtualMachineExtension vmExtParameters = new VirtualMachineExtension ( ) ;
421
428
422
429
vmExtParameters . Publisher = AEMExtensionConstants . WADExtensionPublisher [ this . OSType ] ;
423
430
vmExtParameters . VirtualMachineExtensionType = AEMExtensionConstants . WADExtensionType [ this . OSType ] ;
424
- vmExtParameters . TypeHandlerVersion = AEMExtensionConstants . WADExtensionVersion [ this . OSType ] ;
431
+ vmExtParameters . TypeHandlerVersion = wadVersion . ToString ( 2 ) ;
425
432
vmExtParameters . Settings = jPublicConfig ;
426
433
vmExtParameters . ProtectedSettings = jPrivateConfig ;
427
- vmExtParameters . Location = selectedVM . Location ;
434
+ vmExtParameters . Location = vm . Location ;
428
435
429
- this . VirtualMachineExtensionClient . CreateOrUpdate ( ResourceGroupName , selectedVM . Name , extensionName , vmExtParameters ) ;
436
+ this . VirtualMachineExtensionClient . CreateOrUpdate ( ResourceGroupName , vm . Name , extensionName , vmExtParameters ) ;
430
437
431
- return this . ComputeClient . ComputeManagementClient . VirtualMachines . Get ( ResourceGroupName , selectedVM . Name ) ;
438
+ return this . ComputeClient . ComputeManagementClient . VirtualMachines . Get ( ResourceGroupName , vm . Name ) ;
432
439
}
433
440
434
441
private void SetStorageAnalytics ( string storageAccountName )
0 commit comments