I was asked the other day to export cdp information from esx hosts at a client site to file. I used the vmware kb here
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007069 that has source code for powercli. I just took this code and ammended it to export to a file instead of the console. Here is my ammended code.
$logfile = "c:\Temp\cdpinfo.txt"
Connect-VIServer vcenterhostname -User domain\username -Password password
Get-Datacenter | Get-VMHost | Where-Object {$_.State -eq "Connected"} |
%{Get-View $_.ID} |
%{$esxname = $_.Name; Get-View $_.ConfigManager.NetworkSystem} |
%{ foreach($physnic in $_.NetworkInfo.Pnic){
$pnicInfo = $_.QueryNetworkHint($physnic.Device)
foreach($hint in $pnicInfo){
$esxname | Out-File $logfile -Append
$physnic.Device | Out-File $logfile -Append
if( $hint.ConnectedSwitchPort ) {
$hint.ConnectedSwitchPort | Out-File $logfile -Append
}
else {
"No CDP information available." | Out-File $logfile -Append
}
}
}
}
No comments:
Post a Comment