Virtual media-helper-beispielanwendung – HP Integrated Lights-Out 4 Benutzerhandbuch

Seite 249

Advertising
background image

path

: Erforderlich. Die Abbilddatei, auf die derzeit zugegriffen wird.

helper-script

: Optional. Der Speicherort des Helper-Skripts auf IIS Webservern.

Detaillierte Informationen zum Befehl INSERT_VIRTUAL_MEDIA finden Sie im HP iLO 4 Skript-
und Befehlszeilenhandbuch
.

Virtual Media-Helper-Beispielanwendung

Das folgende Perl-Skript ist ein Beispiel einer CGI-Helper-Anwendung, mit der Disketten auf
Webservern geschrieben werden können, die keine partiellen Schreibvorgänge durchführen können.
Eine Helper-Anwendung kann zusammen mit dem Befehl INSERT_VIRTUAL_MEDIA zur
Bereitstellung eines beschreibbaren Datenträgers verwendet werden.

Wenn die Helper-Anwendung verwendet wird, sendet die iLO Firmware eine Anforderung mit den
folgenden Parametern an diese Anwendung:

Der Parameter file enthält den Namen der Datei, die in der Original-URL bereitgestellt wird.

Der Parameter range enthält einen eingeschlossenen Bereich (Hexadezimal), der angibt, wo
die Daten geschrieben werden sollen.

Der Parameter data enthält eine Hexadezimalzeichenfolge, die die Daten darstellt, die
geschrieben werden sollen.

Das Helper-Skript muss den Parameter file in einen relativen Pfad zum Arbeitsverzeichnis
umwandeln. Eventuell setzt die Datei ein Präfix „../“ voraus, oder ein Alias-URL-Pfad muss in den
richtigen Pfad auf dem Dateisystem umgewandelt werden. Das Helper-Skript setzt Schreibzugriff
auf die Zieldatei voraus. Disketten-Abbilddateien benötigen die geeigneten Berechtigungen.

Beispiel:

#!/usr/bin/perl

use CGI;
use Fcntl;

#
# The prefix is used to get from the current working directory to the
# location of the image file that you are trying to write
#
my ($prefix) = "c:/inetpub/wwwroot";
my ($start, $end, $len, $decode);

my $q = new CGI(); # Get CGI data

my $file = $q->param('file'); # File to be written
my $range = $q->param('range'); # Byte range to be written
my $data = $q->param('data'); # Data to be written

#
# Change the file name appropriately
#
$file = $prefix . "/" . $file;

#
# Decode the range
#
if ($range =~ m/([0-9A-Fa-f]+)-([0-9A-Fa-f]+)/) {
$start = hex($1);
$end = hex($2);
$len = $end - $start + 1;
}

#
# Decode the data (a big hexadecimal string)

Verwenden von iLO Virtual Media 249

Advertising