private/Resolve-UnraidVm.ps1
|
function Resolve-UnraidVm { [CmdletBinding()] param( [Parameter()] [UnraidVm[]]$InputObject, [Parameter()] [string]$Name, [Parameter(Mandatory)] [string]$ParameterSetName, [Parameter()] [UnraidSession]$Session ) process { if ($ParameterSetName -eq "ByName") { $vmParams = @{ Name = $Name } if ($Session) { $vmParams['Session'] = $Session } $vm = Get-UnraidVm @vmParams | Select-Object -First 1 if (!$vm) { Write-Error "VM '$Name' not found." return $null } return @($vm) } else { return @($InputObject) } } } |