For a file server cluster you could do something like this, which has the advantage of not needing to restart the cluster service once the nodes have been rebooted.
#Get Nodes of FSCluster
[ValidateNotNullOrEmpty()]$FSNodes = (Get-ClusterNode -Cluster $FSCluster).Name
$PrimaryFSNode = $FSNodes[0]
$AuxiliaryFSNodes = $FSNodes[1..($FSNodes.Count -1)]
#Turn off AuxiliaryFSNodes
Get-VM -Name $AuxiliaryFSNodes.Name -ComputerName $HVNodes | Stop-VM -Verbose:$Verbose
#Wait for FSCluster to failover to Primary Node
While ((Get-ClusterGroup -Cluster $FSCluster).OwnerNode -ne $PrimaryFSNode) {
Write-Verbose "Waiting for Cluster $FSCluster to failover to $PrimaryFSNode"
Start-Sleep -Seconds 10
}
#Turn off PrimaryFSNode
Get-VM -Name $PrimaryFSNode.Name -ComputerName $HVNodes | Stop-VM -Verbose:$Verbose