up front didn’t know how to word the Topic
I have some code to pull settings off of some esxi host
I borrowed this from
Get-VDPortgroup | Get-View |
Select Name,
@{N=“VlanOverrideAllowed”;E={$.Config.Policy.VlanOverrideAllowed}},
@{N=“UplinkTeamingOverrideAllowed”;E={$.Config.Policy.UplinkTeamingOverrideAllowed}},
@{N=“SecurityPolicyOverrideAllowed”;E={$.Config.Policy.SecurityPolicyOverrideAllowed}},
@{N=“IpfixOverrideAllowed”;E={$.Config.Policy.IpfixOverrideAllowed}},
@{N=“BlockOverrideAllowed”;E={$.Config.Policy.BlockOverrideAllowed}},
@{N=“ShapingOverrideAllowed”;E={$.Config.Policy.ShapingOverrideAllowed}},
@{N=“VendorConfigOverrideAllowed”;E={$.Config.Policy.VendorConfigOverrideAllowed}},
@{N=“TrafficFilterOverrideAllowed”;E={$.Config.Policy.TrafficFilterOverrideAllowed}}
now I can put it into a variable and the output looks like this
Name : VLAN_02
VlanOverrideAllowed : False
UplinkTeamingOverrideAllowed : False
SecurityPolicyOverrideAllowed : False
IpfixOverrideAllowed : False
BlockOverrideAllowed : False
ShapingOverrideAllowed : False
VendorConfigOverrideAllowed : False
TrafficFilterOverrideAllowed : False
Name : vMotion
VlanOverrideAllowed : False
UplinkTeamingOverrideAllowed : False
SecurityPolicyOverrideAllowed : False
IpfixOverrideAllowed : False
BlockOverrideAllowed : False
ShapingOverrideAllowed : False
VendorConfigOverrideAllowed : False
TrafficFilterOverrideAllowed : False
what I want to do is like a If {} ELse {} statement or the like
so Like
If ( all settings are False) { All Setting are False } Else { if any settings are True , output True statements }
so if say each one had a true setting have the output
Name : vMotion
TrafficFilterOverrideAllowed : True
Name : VLAN_02
VlanOverrideAllowed : True
this is part of an array , been banging my head how to do this , and its hard as I am not sure how to google it
here is the script so far , its a work in progress
Set-PowerCLIConfiguration -InvalidCertificateAction Prompt -Scope Session -Confirm:$false |Out-Null
#$vESXi = Read-Host "Enter ESXi\vCenter name or IP"
$vESXi =""
Connect-VIServer $vESXi -user -password
#$ErrorActionPreference = 'SilentlyContinue'
$array = @()
foreach($esx in ((get-vmhost).name)){
$run = "" | Select Host,GN115,GN125,GN1454,GN1411,GN152,GN218,GN219
$run.host = $esx
$run.GN115 = (Get-AdvancedSetting -entity $esx -name Security.PasswordQualityControl).Value
$125 = (Get-AdvancedSetting -entity $esx -name Syslog.global.logHost).Value
if ($125) {$run.GN125 = $125} Else {$run.GN125 = "Not Set"}
$1454 = Get-VDPortgroup | Get-View |
Select Name,
@{N="VlanOverrideAllowed";E={$_.Config.Policy.VlanOverrideAllowed}},
@{N="UplinkTeamingOverrideAllowed";E={$_.Config.Policy.UplinkTeamingOverrideAllowed}},
@{N="SecurityPolicyOverrideAllowed";E={$_.Config.Policy.SecurityPolicyOverrideAllowed}},
@{N="IpfixOverrideAllowed";E={$_.Config.Policy.IpfixOverrideAllowed}},
@{N="BlockOverrideAllowed";E={$_.Config.Policy.BlockOverrideAllowed}},
@{N="ShapingOverrideAllowed";E={$_.Config.Policy.ShapingOverrideAllowed}},
@{N="VendorConfigOverrideAllowed";E={$_.Config.Policy.VendorConfigOverrideAllowed}},
@{N="TrafficFilterOverrideAllowed";E={$_.Config.Policy.TrafficFilterOverrideAllowed}}
If ($1454 -contains $true){}
Else {$run.GN1454 = "All Port-level configuration overrides are disabled"}
$1411 = (Get-AdvancedSetting -entity $esx -name Net.DVFilterBindIpAddress).Value
if ($1411){$run.GN1411 = $1411} Else {$run.GN1411 = "Blank"}
(Get-VMHostFirewallException -vmhost $esx |Select Name,Enabled | Where { $_.Enabled -eq $True})| % {$run.GN152 += $_.Name + " is " + ($_.Enabled |foreach-object { $_ -Replace "True","Enabled" -Replace "False","Disabled"})+ " | "}
$218 = (Get-AdvancedSetting -Entity $esx -Name "Config.Defaults.security.host.ruissl").Value
if ($218){$run.GN218 = "Checked"} Else {$run.GN218 = "Not Checked"}
$run.GN219 += (Get-AdvancedSetting -Entity $esx -Name "UserVars.ESXiVPsDisabledProtocols").Value + " ARE Disabled"
$array += $run
[System.GC]::Collect()
}
$array | Export-CSV ".\$vESXi Gap Check.csv" -NoTypeInformation
Disconnect-VIServer $vesxi -Confirm:$false |Out-Null