Skip to content

Commit 94e09b3

Browse files
authored
Support osName and osVersion in Get-AzVm (#19995)
* support osName and osVersion in Get-AzVm * support osName and osVersion in Get-AzVm * update changlog * update changelog * return HyperVGeneration for Get-AzVm with '-Status' too
1 parent d327e56 commit 94e09b3

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

src/Compute/Compute.Test/ScenarioTests/VirtualMachineTests.ps1

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3034,18 +3034,27 @@ function Test-VirtualMachineGetStatus
30343034

30353035
$vm = Get-AzVM -Name $vmname -ResourceGroupName $rgname -Status;
30363036

3037+
Assert-True {$vm.OsName -like "*windows*"}
3038+
Assert-NotNullOrEmpty $vm.OsVersion
3039+
Assert-NotNullOrEmpty $vm.HyperVGeneration
30373040
$a = $vm | Out-String;
30383041
Write-Verbose($a);
30393042
Assert-True {$a.Contains("Statuses");}
30403043

30413044
$vms = Get-AzVM -ResourceGroupName $rgname -Status;
30423045
Assert-AreEqual "VM running" ($vms | ? {$_.Name -eq $vmname}).PowerState;
3046+
Assert-True {($vms | ? {$_.Name -eq $vmname}).OsName -like "*windows*"}
3047+
Assert-NotNullOrEmpty ($vms | ? {$_.Name -eq $vmname}).OsVersion
3048+
Assert-NotNullOrEmpty ($vms | ? {$_.Name -eq $vmname}).HyperVGeneration
30433049
$a = $vms | Out-String;
30443050
Write-Verbose($a);
30453051
Assert-True {$a.Contains("VM running")};
30463052

30473053
$vms = Get-AzVM -Status;
30483054
Assert-AreEqual "VM running" ($vms | ? {$_.Name -eq $vmname}).PowerState;
3055+
Assert-True {($vms | ? {$_.Name -eq $vmname}).OsName -like "*windows*"}
3056+
Assert-NotNullOrEmpty ($vms | ? {$_.Name -eq $vmname}).OsVersion
3057+
Assert-NotNullOrEmpty ($vms | ? {$_.Name -eq $vmname}).HyperVGeneration
30493058
$a = $vms | Out-String;
30503059
Write-Verbose($a);
30513060
Assert-True {$a.Contains("VM running")};

src/Compute/Compute/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
2121
-->
2222
## Upcoming Release
23+
* Fixed `Get-AzVm` cmdlet when parameter "-Status" is provided, return property `OsName`, `OsVersion` and `HyperVGeneration`
2324

2425
## Version 5.1.0
2526
* Fixed EdgeZone does not pass to VM for `New-AzVM` "SimpleParameterSet" [#18978]

src/Compute/Compute/Models/PSVirtualMachine.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ public string ResourceGroupName
8686
//Gets or sets the security profile
8787
public SecurityProfile SecurityProfile { get; set; }
8888

89+
//Gets or sets the OS name
90+
public string OsName { get; set; }
91+
//Gets or sets the OS version
92+
public string OsVersion { get; set; }
93+
//Gets or sets the HyperV Generation
94+
public string HyperVGeneration { get; set; }
95+
8996
// Gets or sets the OS profile.
9097
public OSProfile OSProfile { get; set; }
9198

src/Compute/Compute/VirtualMachine/Operation/GetAzureVMCommand.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,9 @@ private List<PSVirtualMachineListStatus> GetPowerstate(
288288
psItem.PowerState = InfoNotAvailable;
289289
}
290290
psItem.MaintenanceRedeployStatus = psstate.MaintenanceRedeployStatus;
291+
psItem.OsName = psstate.OsName;
292+
psItem.OsVersion = psstate.OsVersion;
293+
psItem.HyperVGeneration = psstate.HyperVGeneration;
291294
}
292295
}
293296
psItem.DisplayHint = this.DisplayHint;

0 commit comments

Comments
 (0)