PowerCLI ile ESXi iLO / iDrac Bilgilerini Bulma

Danışmanlık yapan arkadaşlar için hiç birşey bilmediğiniz bir VMware ortamında çalışan sunucuların idrac/ilo ip address bilgilerini öğrenmek ve bu bilgiye ulaşmak çok zor olmuştur.  Bu tarz durumlarda    İhtiyacımız olan bilgiyi elde etmenin en hızlı ve en etkili yolu, Carter Shanklin tarafından yazılmış bir PowerShell betiğinin kullanılmasıdır

 

Gereksinimler

 

  • ESXi hostunuza bağlanan istemcide PowerShell 2.0 veya üstü yüklü olmalıdır
  • ESXi hostunuza bağlanan istemcide PowerCLI 4.0 veya üstü yüklü olmalıdır
  • 443 numaralı port İstemciden ESXi hostunuza doğru açık  olmalıdır

 

function Get-VMHostWSManInstance {
        param (
        [Parameter(Mandatory=$TRUE,HelpMessage="VMHosts to probe")]
        [VMware.VimAutomation.Client20.VMHostImpl[]]
        $VMHost,
        [Parameter(Mandatory=$TRUE,HelpMessage="Class Name")]
        [string]
        $class,
        [switch]
        $ignoreCertFailures,
        [System.Management.Automation.PSCredential]
        $credential=$null
        )
        $omcBase = "http://schema.omc-project.org/wbem/wscim/1/cim-schema/2/"
        $dmtfBase = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/"
        $vmwareBase = "http://schemas.vmware.com/wbem/wscim/1/cim-schema/2/"
        if ($ignoreCertFailures) {
                $option = New-WSManSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
        } else {
                $option = New-WSManSessionOption
        }
        foreach ($H in $VMHost) {
                if ($credential -eq $null) {
                        $hView = $H | Get-View -property Value
                        $ticket = $hView.AcquireCimServicesTicket()
                        $password = convertto-securestring $ticket.SessionId -asplaintext -force
                        $credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $ticket.SessionId, $password
                }
                $uri = "https`://" + $h.Name + "/wsman"
                if ($class -cmatch "^CIM") {
                        $baseUrl = $dmtfBase
                } elseif ($class -cmatch "^OMC") {
                        $baseUrl = $omcBase
                } elseif ($class -cmatch "^VMware") {
                        $baseUrl = $vmwareBase
                } else {
                        throw "Unrecognized class"
                }
                Get-WSManInstance -Authentication basic -ConnectionURI $uri -Credential $credential -Enumerate -Port 443 -UseSSL -SessionOption $option -ResourceURI "$baseUrl/$class"
        }
}
# Examples (make sure you are connected to an ESX server.)
# Get-VMHostWSManInstance -VMHost (Get-VMHost) -class CIM_Fan -ignoreCertFailures
# Get-VMHostWSManInstance -VMHost (Get-VMHost) -class VMware_Role -ignoreCertFailures
# Get-VMHostWSManInstance -VMHost (Get-VMHost) -class OMC_Card -ignoreCertFailures
# See http`://www.vmware.com/support/developer/cim-sdk/smash/u2/ga/apirefdoc/ for a list of classes.

Using Get-VMHostWSManInstance  ile idrac/ilo bilgilerine ulaşma

Komut dosyasını indirdikten  veya ps1 olarak  kaydettikten sonra dosyanın konumuna gidin. Dosyaya Shift ‘e basılı tutup Sağ Tıklayıp  copy as path diyoruz.

Bir powercli oturumu açtıktan sonra ilgili modülü yüklemek için aşağıdaki komutları çalıştırıyoruz.

import-module -name “C:\Users\administrator\Desktop\png\Monitor ESX with WS-MAN.ps1”

 

Ilgili betiği içeri aktarmak için R diyerek devam ediyoruz

Aşağıdaki komutla vcenter veya esxi hostumuza bağlanıyoruz.

Connect-VIServer –Server VCenterSRV01

Vcenter sunucumuza bağlandıktan sonra  ilgili hostlardan management ip bilgilerini öğreniyoruz.

Get-vmhost esx01.onurcan.lcl kendi host bilgilerinize göre düzenlemeyi unutmayınız.
Get-VMHostWSManInstance –Vmhost (Get-VMhost ESX01.onurcan.lcl) –IgnoreCertFailures –Class OMC_IPMIIPProtocolEndpoint

Son olarak, IPMI denetleyicisinin web arayüzüne bağlanabilir ve ne yapmamız gerekiyorsa yapmaya devam edebiliriz.

Paylaş

YORUM YAZIN


UA-15660912-1