iDrac 6 KVM Launcher

iDrac 6 KVM Launcher

iDrac w serwerach takich jak Dell Power Edge R710 ma już swoje lata, i na najnowszej Javie nie chce działać. Dotychczas, można było zainstalować starszą Javę w wersji 7, obniżyć Security w Panelu Starowania, dodać URL do zaufanych i działało.

Ostatnio jednak, przy próbie uruchomienia wirtualnej konsoli serwera, efektem był poniższy komunikat.

Problem prawdopodobnie wynika z aktualizacji iDraca6 do najnowszej wersji 2.92.

Na szczęście jest na to sposób i to nawet całkiem zgrabny i dodatkowo dający coś na kształt launchera dla innych iDraców.

Normalnie, po wybraniu Launch dostajemy plik *.jnlp który musimy otworzyć przy pomocy javaws.exe (Java Web Start). Dodatkowo za każdym razem zmienia się ciąg znaków w nazwie pliku, więc proste skojarzenie tego pliku nie da rezultatu na przyszłość. Trzeba skojarzyć sam plik jnlp z javaws. Na szczęście nigdy więcej już nie trzeba będzie go pobierać ani nawet logować się do iDraca, a zamiast javaws użyjemy zwykłej Javy.

Po ostatnim pobraniu pliku, nie uruchamiamy go a otwieramy przy pomocy dowolnego edytor tekstowego. Wyszukujemy linki do plików avctKVM.jar oraz do kolejnych plików *.jar odpowiadających systemowi na którym chcemy wystartować konsolę. Pobieramy te trzy pliki:

Następnie rozpakowujemy pliki jar dowolnym prgramem do obsługi archiwów (np 7zip, Peazip pod Windows) wydłubując z nich pliki dll. Potrzebujemy:

z avctKVMIOWin64.jar - plik avctKVMIO.dll

z avctVMWin64 - plik avmWinLib.dll

Pliki dll wrzucamy do katalogu lib/ w głównym katalogu Javy a plik avctKVM.jar do głównego katalogu, czyli jeżeli mamy obecnie zainstalowaną Javę np w katalogu: C:\Program Files\Java\jre7

to plik avctKVM.jar wrzucamy tu: C:\Program Files\Java\jre7\

A pliki dll do C:\Program Files\Java\jre7\lib

Na koniec w głównym katalogu tworzymy plik KVM.bat z zawartością:

@echo off

set /P drachost="Host: "
set /p dracuser="Username: "
set "psCommand=powershell -Command "$pword = read-host 'Enter Password' -AsSecureString ; ^
    $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
        [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set dracpwd=%%p

.\bin\java -cp avctKVM.jar -Djava.library.path=.\lib com.avocent.idrac.kvm.Main ip=%drachost% kmport=5900 vport=5900 user=%dracuser% passwd=%dracpwd% apcp=1 version=2 vmprivilege=true "helpurl=https://%drachost%:443/help/contents.html"

Po uruchomieniu KVM.bat, musimy podać host, użytkownika i hasło:

I po chwili Javowa konsola będzie dostępna:

Read more