Skip to content

Instantly share code, notes, and snippets.

@fitzgeraldsteele
Created June 9, 2020 19:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fitzgeraldsteele/f9a925984e8a6a5a76759779b9897bbd to your computer and use it in GitHub Desktop.
Save fitzgeraldsteele/f9a925984e8a6a5a76759779b9897bbd to your computer and use it in GitHub Desktop.
Azure Virtual Machine Scale Sets: Check Availability constructs
Connect-AzAccount
$mysub = "my-subscription-name"
$rg = "my-resourcegroup-name"
$vmssname = "my-vmss-name"
Set-AzContext -Subscription $mysub
$vmssmodel = Get-AzVmss -ResourceGroupName $rg -VMScaleSetName $vmssname
Write-Output($vmssmodel.Id)
Write-Output("FD Count: " + $vmssmodel.PlatformFaultDomainCount)
Write-Output("Single Placement Group: " + $vmssmodel.SinglePlacementGroup)
$myvmss = Get-AzVmssVM -ResourceGroupName $rg -VMScaleSetName $vmssname -InstanceView
Write-Output ("Total # Instances: " + $myvmss.Count)
$zones = 1..3
foreach ($zone in $zones) {
$zonecount = $myvmss | Where-Object {$_.Zones[0] -eq [string]$zone} | Measure-Object
Write-Output ("VMs in zone ${zone}: " + $zonecount.Count)
}
$PlatformFaultDomains = 0..4
foreach ($pfd in $PlatformFaultDomains) {
$pfdcount = $myvmss | Where-Object {$_.InstanceView.PlatformFaultDomain -eq $pfd} | Measure-Object
Write-Output ("VMs in Fault Domain ${pfd}: " + $pfdcount.Count)
}
$PlatformUpdateDomains = 0..4
foreach ($ufd in $PlatformUpdateDomains) {
$ufdcount = $myvmss | Where-Object {$_.InstanceView.PlatformUpdateDomain -eq $ufd} | Measure-Object
Write-Output ("VMs in Update Domain ${ufd}: " + $ufdcount.Count)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment