Skip to content

Instantly share code, notes, and snippets.

@mczerniawski
Created October 9, 2018 16:39
Show Gist options
  • Select an option

  • Save mczerniawski/5abf570b5b14f2f89124b7f1d52dc38d to your computer and use it in GitHub Desktop.

Select an option

Save mczerniawski/5abf570b5b14f2f89124b7f1d52dc38d to your computer and use it in GitHub Desktop.
#region Validate Preferred Owner
$nodesInCluster = Invoke-Command -Session $ClusterSession -ScriptBlock {
Get-ClusterNode | Select-Object -ExpandProperty Name
}
#null or empty string - reset to defaults
if (-not $PreferredOwner) {
Write-Verbose -Message "Provided no Preferred Owner. Will reset to default setting"
$PreferredOwner = ''
}
#check if given hosts given in $PreferredOwner are members of $Cluster
else {
switch (Compare-Object -ReferenceObject @($nodesInCluster) -DifferenceObject @($PreferredOwner) -IncludeEqual ) {
{$PSItem.SideIndicator -eq '=>'} {
Write-Error -Message "Given preferred owner {$($PSItem.InputObject)} not found in nodes of cluster {$Cluster}. Aborting" -ErrorAction Stop
break
}
{$PSItem.SideIndicator -eq '=='} {
Write-Verbose -Message "Given preferred owner {$($PSItem.InputObject)} was found in nodes of cluster {$Cluster}"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment