Private/Invoke-ExtrasMenu.ps1
function Invoke-ExtrasMenu { [cmdletbinding()] [OutputType('System.String')] param() begin { # Get extra data $ExtraData = Get-ScriptExtraData } process { Do { Clear-Host Get-Header "Extras Menu" "Cluster Name:$(Get-MenuColumnPadding 11 'Cluster Name:')$($ExtraData['ClusterName'])" "S2D Enabled:$(Get-MenuColumnPadding 11 'S2D Enabled:')$($ExtraData['S2DEnabled'])" "StorageSubSystem Health:$(Get-MenuColumnPadding 11 'StorageSubSystem Health:')$($ExtraData['StorageSubSystemHealth'])" "" "1) Storage Pools$(Get-MenuColumnPadding 1 ' Storage Pools')$(($ExtraData['StoragePools'] | Measure-Object).Count) Pools" "2) Virtual Disks$(Get-MenuColumnPadding 1 ' Virtual Disks')$(($ExtraData['VirtualDisks'] | Measure-Object).Count) Disks" "3) Cluster Nodes$(Get-MenuColumnPadding 1 ' Cluster Nodes')$(($ExtraData['Nodes'] | Measure-Object).Count) Nodes" "" $return = Read-Host "Enter number to select an option(BLANK=Cancel)" Switch ($return) { 1 { Invoke-StoragePoolMenu } 2 { Invoke-VirtualDiskMenu } 3 { Invoke-ClusterNodeMenu } } }until( $return -eq "" ) } } |