How to scan HBA Vmware ESXi Vmware Power CLI

How to scan HBA Vmware ESXi Vmware Power CLI

Connect to your ESX or VCenter Server

Connect-VIServer -Server 192.168.1.10  -Protocol https -User Administrator@vsphere.local -Password P@ssw0rd

To Scan all ESXi hosts is Cluster
Get-Cluster ‘cluster name‘ | Get-VMHost  | Get-VMHostStorage -RescanAllHba

To scan single ESX  host

Get-VMHost ‘192.168.1.11‘ | Get-VMHostStorage -RescanAllHba

 

How to get vms, with their current ips, macaddresses, networkcard types

How to get vms, with their current ips, macaddresses, networkcard types

Below are the script i got to get all VM name UUID, VLAN assigned, MAC address , IP address,Network card type.

Its export in CSV .

 

$reportedvms=New-Object System.Collections.ArrayList
$vms=get-view -viewtype virtualmachine  |Sort-Object -Property {  $_.Config.Hardware.Device |  where {$_ -is [VMware.Vim.VirtualEthernetCard]} |  Measure-Object | select -ExpandProperty Count} -Descending
 
foreach($vm in $vms){
  $reportedvm = New-Object PSObject
  Add-Member -Inputobject $reportedvm -MemberType noteProperty -name Guest -value $vm.Name
  Add-Member -InputObject $reportedvm -MemberType noteProperty -name UUID -value $($vm.Config.Uuid)
$networkcards=$vm.guest.net | ?{$_.DeviceConfigId -ne -1}
$i=0
foreach($ntwkcard in $networkcards){
Add-Member -InputObject $reportedvm -MemberType NoteProperty -Name "networkcard${i}.Network" -Value $ntwkcard.Network
Add-Member -InputObject $reportedvm -MemberType NoteProperty -Name "networkcard${i}.MacAddress" -Value $ntwkcard.Macaddress  
Add-Member -InputObject $reportedvm -MemberType NoteProperty -Name "networkcard${i}.IpAddress" -Value $($ntwkcard.IpAddress|?{$_ -like "*.*"})
Add-Member -InputObject $reportedvm -MemberType NoteProperty -Name "networkcard${i}.Device" -Value $(($vm.config.hardware.device|?{$_.key -eq $($ntwkcard.DeviceConfigId)}).gettype().name)
$i++
}
$reportedvms.add($reportedvm)|Out-Null
}
 
$reportedvms|Export-Csv C:\PCLITEST\inventry\networkcard.csv

 

How to Configuring an NTP Time Server on ESXi PowerCLI

How to Configuring an NTP Time Server on ESXi PowerCLI

If there are no NTP server configured

Get-VMHost esx01 | Add-VMHostNtpServer -NtpServer ntpservername

 

Or to first of all clear existing NTP server(s) then set the new one:

Get-VMHost esx01 | Remove-VMHostNtpServer -NtpServer (Get-VMHost esx01 | Get-VMHostNtpServer)
Get-VMHost esx01 | Add-VMHostNtpServer -NtpServer ntpservername

 

Source link 

How to check VMFS version & block sizes PowerCLI

How to check VMFS version & block sizes PowerCLI

Get-Datastore | Get-View | Select-Object Name,@{N="VMFS version";E={$_.Info.Vmfs.Version}},@{N="BlocksizeMB";E={$_.Info.Vmfs.BlockSizeMB}}

 

NameVMFS 	      version   BlocksizeMB
----------------    -----------
TempDS                  5.58 	 1
datastore1              5.54  	 1
datastore1 (3)          5.54  	 1
datastore1 (1)          5.54  	 1
datastore1 (4)          5.54  	 1
datastore1 (7)          5.54  	 1
datastore1 (6)          5.54  	 1

VMware ESXi   CDP information via PowerCLI

VMware ESXi   CDP information via PowerCLI

  1. Using PowerCLI, connect to the ESX host or vCenter Server:# Connect-VIServer esx-or-vc-hostname
  2. Run this script in PowerCLI:
Get-VMHost | Where-Object {$_.ConnectionState -eq "Connected"} |
%{Get-View $_.ID} |
%{$esxname = $_.Name; Get-View $_.ConfigManager.NetworkSystem} |
%{ foreach($physnic in $_.NetworkInfo.Pnic){
    $pnicInfo = $_.QueryNetworkHint($physnic.Device)
    foreach($hint in $pnicInfo){
      Write-Host $esxname $physnic.Device
      if( $hint.ConnectedSwitchPort ) {
        $hint.ConnectedSwitchPort
      }
      else {
        Write-Host "No CDP information available."; Write-Host
      }
    }
  }
}

Continue reading VMware ESXi   CDP information via PowerCLI