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

•
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