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