PHP/Anzeige von Systeminformationen: Unterschied zwischen den Versionen
< PHP
Michi (Diskussion | Beiträge) (→Skript) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 127: | Zeile 127: | ||
$output_belegung = disk_free_space("/"); | $output_belegung = disk_free_space("/"); | ||
tr("Festplattenbelegung", number_format($output_belegung, 0, '.', '\'') . | tr("Festplattenbelegung", number_format($output_belegung, 0, '.', '\'') . " Byte freier Platz auf \"/\""); | ||
## Tastatur | ## Tastatur |
Aktuelle Version vom 26. Februar 2010, 22:27 Uhr
Beschreibung
Name | systeminformation.php |
Autor | Michael Kuhn |
Datum | 19 October 2008 (Version 0.1) |
Beschreibung | Anzeige von Systeminformationen. |
Konfiguration
Notwendiger Eintrag in der Datei "/etc/sudoers" mit "visudo".
www-data ALL=NOPASSWD: /usr/sbin/dmidecode
Skript
<?php
## Name systeminformation.php
## Date 19 October 2008
## Description Outputs some information about hardware and installed software
## of the host the script is running on.
## Hints The following line needs to be inserted into file "/etc/sudoers":
## www-data ALL=NOPASSWD: /usr/sbin/dmidecode
##### CONFIGURATION #####
$DMIDECODE = "/usr/sbin/dmidecode";
$HWINFO = "/usr/sbin/hwinfo";
$output_exists_dmidecode = shell_exec("[ -x /usr/sbin/dmidecode ] && echo -n $?");
$output_exists_hwinfo = shell_exec("[ -x /usr/sbin/hwinfo ] && echo -n $?");
##### FUNCTIONS #####
function tr_head($title)
{
echo "<tr>\n<th align=\"left\" bgcolor=\"#C0C0C0\" colspan=\"2\">" . $title . "</th>\n</tr>\n";
}
function tr($title, $content)
{
echo "<tr>\n<td bgcolor=\"#DCDCDC\"><b>" . $title . "</b></td>\n<td>" . $content . "</td>\n</tr>\n";
}
##### MAIN PROGRAM #####
## Prüfung auf Vorhandensein von "dmidecode" und "hwinfo".
if ("$output_exists_dmidecode" != "0" or "$output_exists_hwinfo" != "0")
{
if ("$output_exists_dmidecode" != "0")
{
#echo "DMIDECODE: <pre>X" . $output_exists_dmidecode . "X</pre><br />\n";
echo "\"dmidecode\" fehlt!<br />\n";
}
if ("$output_exists_hwinfo" != "0")
{
#echo "HWINFO: <pre>X" . $output_exists_hwinfo . "X</pre><br />\n";
echo "\"hwinfo\" fehlt!<br />\n";
}
exit();
}
echo "<h1>Systeminformationen</h1>\n";
$output_date = shell_exec("date \"+%d. %B %Y\"");
echo "<p>Datum: " . $output_date . "</p>\n";
echo "<table border=1>\n";
tr_head("Allgemeine Informationen");
## Rechnername
$output_rechnername = shell_exec("uname -n");
tr("Rechnername", $output_rechnername);
## Betriebssystem
$output_betriebssystem = shell_exec("cat /etc/issue.net");
tr("Betriebssystem", $output_betriebssystem);
## Kernel
$output_kernel = shell_exec("uname -sr");
tr("Kernel", $output_kernel);
## "root"-Passwort
## IP-Adresse
$output_ipadresse = shell_exec("ip address show | grep \"inet \" | awk '{ print $2 }'");
tr("IP-Adresse", $output_ipadresse);
## Nameserver
$output_nameserver = shell_exec("cat /etc/resolv.conf | grep \"nameserver \" | awk '{ print $2 }'");
tr("Nameserver", $output_nameserver);
## Hardware
tr_head("Hardware");
## Netzteil
tr ("Netzteil", " ");
## Motherboard
$output_motherboard = shell_exec("sudo $DMIDECODE -s system-manufacturer && sudo $DMIDECODE -s system-product-name");
tr("Motherboard", $output_motherboard);
## BIOS
$output_bios = shell_exec("sudo $DMIDECODE -s bios-vendor && sudo dmidecode -s bios-version && sudo $DMIDECODE -s bios-release-date");
tr("BIOS", $output_bios);
## Prozessor
$output_prozessor = shell_exec("$HWINFO --cpu | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
$output_prozessor_cache = shell_exec("$HWINFO --cpu | grep '^ Cache:' | awk -F: '{ print $2 }'");
tr("Prozessor", $output_prozessor . " / " . $output_prozessor_cache . " Cache");
## Arbeitsspeicher
$output_arbeitsspeicher = shell_exec("$HWINFO --memory | grep '^ Memory Size:' | awk -F: '{ print $2 }'");
tr("Arbeitsspeicher", $output_arbeitsspeicher);
## Festplatte
$output_festplatte = shell_exec("$HWINFO --disk | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
tr("Festplatte", $output_festplatte);
$output_belegung = disk_free_space("/");
tr("Festplattenbelegung", number_format($output_belegung, 0, '.', '\'') . " Byte freier Platz auf \"/\"");
## Tastatur
$output_tastatur = shell_exec("$HWINFO --keyboard | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
tr("Tastatur", $output_tastatur);
## Bildschirm
tr("Bildschirm", " ");
## Grafikkarte
$output_grafikkarte = shell_exec("$HWINFO --gfxcard | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
tr("Grafikkarte", $output_grafikkarte);
## Soundkarte
$output_soundkarte = shell_exec("$HWINFO --sound | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
tr("Soundkarte", $output_soundkarte);
## Netzwerkkarte
$output_netzwerkkarte_vendor = shell_exec("$HWINFO --netcard | grep '^ Vendor:' | tr '\042' '%' | awk -F% '{ print $2 }'");
$output_netzwerkkarte_device = shell_exec("$HWINFO --netcard | grep '^ Device:' | tr '\042' '%' | awk -F% '{ print $2 }'");
tr("Netzwerkkarte", $output_netzwerkkarte_vendor . $output_netzwerkkarte_device);
## CD-ROM-Laufwerk
$output_cdrom = shell_exec("$HWINFO --cdrom | grep '^ Model:' | tr '\042' '%' | awk -F% '{ print $2 }'");
$output_cdrom_features = shell_exec("$HWINFO --cdrom | grep '^ Features:' | awk -F: '{ print $2 }'");
tr("CD-ROM-Laufwerk", $output_cdrom . " (" . trim($output_cdrom_features) . ")");
##### Software #####
echo "</table>\n";
echo "<h2>Installierte Pakete</h2>\n";
$output_software = shell_exec("COLUMNS=200 dpkg -l | grep ^ii");
echo "<pre>$output_software</pre>";
?>
|