Difference between revisions of "Script Extracts and Examples (PowerCLI)"
Jump to navigation
Jump to search
(→VM's Effective CPU Shares: Updated script (handles VM's in root 'Resources' pool)) |
(→Script Extracts: Added "ESX Discovered Networks Hint") |
||
Line 523: | Line 523: | ||
Write-Host | Write-Host | ||
} | } | ||
</source> | |||
=== ESX Discovered Networks Hint === | |||
This function provides the discovered network hints for the network interface its passed. Bear in mind that its just a hint, for an ESX to be aware of a particular vLAN it needs to see traffic. If there's no traffic it will show nothing. | |||
Adapted from the following article on the VMware site blog http://blogs.vmware.com/vipowershell/2010/02/how-to-find-out-what-vlans-your-esx-hosts-can-really-see.html | |||
<source lang="powershell"> | |||
function Get-ObservedIPRange { | |||
param( | |||
[Parameter(Mandatory=$true,ValueFromPipeline=$true,HelpMessage="Physical NIC from Get-VMHostNetworkAdapter")] | |||
[VMware.VimAutomation.Client20.Host.NIC.PhysicalNicImpl] | |||
$Nic | |||
) | |||
process { | |||
$hostView = Get-VMHost -Id $Nic.VMHostId | Get-View -Property ConfigManager | |||
$ns = Get-View $hostView.ConfigManager.NetworkSystem | |||
$hints = $ns.QueryNetworkHint($Nic.Name) | |||
foreach ($hint in $hints) { | |||
foreach ($subnet in $hint.subnet) { | |||
$observed = New-Object -TypeName PSObject | |||
$observed | Add-Member -MemberType NoteProperty -Name Device -Value $Nic.Name | |||
$observed | Add-Member -MemberType NoteProperty -Name VlanId -Value $subnet.VlanId | |||
$observed | Add-Member -MemberType NoteProperty -Name IPSubnet -Value $subnet.IPSubnet | |||
$observed | Add-Member -MemberType NoteProperty -Name BitRatePerSec -Value $nic.BitRatePerSec | |||
Write-Output $observed | |||
} | |||
} | |||
} | |||
} | |||
# Example use: | |||
$result = Get-VMHost MyESX* | Get-VMHostNetworkAdapter | Where {$_.Name -Match ".*vmnic*"} | Get-ObservedIPRange | Sort-Object -Property Device, VlanId | |||
$result | Export-Csv -path ESX-vLANs-Observed.csv | |||
</source> | </source> | ||