Upload files to "VMware"
This commit is contained in:
parent
ae0d53b862
commit
b149664cb9
78
VMware/drsgroups.ps1
Normal file
78
VMware/drsgroups.ps1
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
$cr = "`r`n"
|
||||
$tab = "`t"
|
||||
$daytime = Get-Date -format dd_MM_yyyy_hh_mm
|
||||
Write-Host $daytime
|
||||
$Filename = "c:\temp\DRS Rules_" + "_" + $daytime + ".txt"
|
||||
Write-Host $Filename
|
||||
Write-Host "..Connecting to Server"
|
||||
connect-viserver -Server "vmware.asl.local"
|
||||
$ClusterList = Get-Cluster | Sort Name
|
||||
foreach ($cluster in $ClusterList) {
|
||||
$clusterName = $cluster.Name
|
||||
|
||||
$rules = get-cluster -Name $clusterName | Get-DrsRule -Type VMAntiAffinity
|
||||
foreach($rule in $rules){
|
||||
$line = ("Cluster: " + $clusterName + $cr)
|
||||
$line += ("Rule: " + $rule.Name + " - AntiAffinity" + $cr)
|
||||
Write-Host ("Cluster: " + $clusterName)
|
||||
Write-Host ("Rule: " + $rule.Name + " - AntiAffinity")
|
||||
foreach($vmId in $rule.VMIds){
|
||||
$line += ($tab + (Get-View -Id $vmId).Name + $cr)
|
||||
}
|
||||
$line | Out-File -Append $Filename
|
||||
Write-Host $cr
|
||||
}
|
||||
$rules = get-cluster -Name $clusterName | Get-DrsRule -Type VMAffinity
|
||||
foreach($rule in $rules){
|
||||
$line = ("Cluster: " + $clusterName + $cr)
|
||||
$line += ("Rule: " + $rule.Name + " - Affinity" + $cr)
|
||||
Write-Host ("Cluster: " + $clusterName)
|
||||
Write-Host ("Rule: " + $rule.Name + " - AntiAffinity" + $cr)
|
||||
foreach($vmId in $rule.VMIds){
|
||||
$line += ($tab + (Get-View -Id $vmId).Name + $cr)
|
||||
}
|
||||
$line | Out-File -Append $Filename
|
||||
Write-Host $cr
|
||||
}
|
||||
$clusterView = get-cluster -Name $clusterName | Get-View
|
||||
$clusterConfig = $clusterView.Configuration
|
||||
$clusterConfigEx = $clusterView.ConfigurationEx
|
||||
$clusterConfigExGroup = $clusterConfigEx.Group
|
||||
$rules = $clusterConfigEx.Rule
|
||||
foreach($rule in $rules){
|
||||
if ($rule -is [VMware.Vim.ClusterVmHostRuleInfo]) {
|
||||
$line = $cr
|
||||
$line = ("Cluster: " + $clusterName + $cr)
|
||||
Write-Host ("Cluster: " + $clusterName)
|
||||
Write-Host ("Rule: " + $rule.Name + " - AntiAffinity")
|
||||
$line += ("Rule: " + $rule.Name + $cr)
|
||||
|
||||
if ($rule.Mandatory) {
|
||||
$temp = "Must "
|
||||
} else {
|
||||
$temp = "Should "
|
||||
}
|
||||
if ($rule.AffineHostGroupName -ne $null) {
|
||||
$hostGroupName = $rule.AffineHostGroupName
|
||||
Write-Host ("Policy: " + $temp + "run on hosts in group.")
|
||||
$line += ("Policy: " + $temp + "run on hosts in group." + $cr)
|
||||
} else {
|
||||
$hostGroupName = $rule.AntiAffineHostGroupName
|
||||
Write-Host ("Policy: " + $temp + "not run on hosts in group.")
|
||||
$line += ("Policy: " + $temp + "not run on hosts in group." + $cr)
|
||||
}
|
||||
|
||||
$vmGroupName = $rule.VmGroupName
|
||||
Write-Host ("VM Group: " + $vmGroupName)
|
||||
$line += ("VM Group: " + $vmGroupName + $cr)
|
||||
$vmGroupMembers = (Get-View -Property Name -Id ($clusterConfigExGroup | ?{($_ -is [VMware.Vim.ClusterVmGroup]) -and ($_.Name -eq $vmGroupName)}).Vm | %{$_.Name}) -join ($cr + $tab)
|
||||
$line += ($tab + $vmGroupMembers + $cr)
|
||||
Write-Host ("Host Group: " + $hostGroupName)
|
||||
$line += ("Host Group: " + $hostGroupName + $cr)
|
||||
$hostGroupmembers = (Get-View -Property Name -Id ($clusterConfigExGroup| ?{($_ -is [VMware.Vim.ClusterHostGroup]) -and ($_.Name -eq $hostGroupName)}).Host | %{$_.Name}) -join ($cr + $tab)
|
||||
$line += ($tab + $hostGroupmembers + $cr)
|
||||
$line | Out-File -Append $Filename
|
||||
Write-Host $cr
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue