[ obrad_beocin @ 06.09.2005. 13:30 ] @
Kako da uz pomoc perl-a dobijem informacije o hardveru kako na lokalnom racunaru tako i na racunarima na mrezi ?
Nasao sam neke skripte na internetu i uz pomoc njih sam dobio informacije o instaliranom software-u ali nisam uspeo da dobijem informacije o hardware-u.
[ zaljubljeni @ 06.09.2005. 20:06 ] @
Jednostavno koriscenjem /proc pseudo-fajl sistema.

[Ovu poruku je menjao zaljubljeni dana 06.09.2005. u 21:06 GMT+1]

uz klasicno otvaranje fajlova iz datog VFS-a.

Code:

c0re:~> cat perl
#!/usr/bin/perl -w



print "Unesi ime fajla ->";
chomp($ime = <STDIN>);


open (FAJL,$ime) || die "Can't Open File: $ime\n";


@arrayfile = <FAJL>;
print @arrayfile;


[Ovu poruku je menjao zaljubljeni dana 06.09.2005. u 21:22 GMT+1]
[ obrad_beocin @ 07.09.2005. 09:07 ] @
Meni treba skripta pomocu koje mogu da dobijem informacije o pc hardware-u, a ne skripta pomocu koje otvaram i citam sadrzaj nekog fajla.
[ MoDcHe @ 07.09.2005. 10:09 ] @
pa lepo ti je chovek napisao u /proc imas sve sto te interesuje.

ako hoces info za cpu otvoris fajl /proc/cpuinfo i onda radi sta hoces ;)
[ obrad_beocin @ 07.09.2005. 11:16 ] @
Moja je greska u pitanju, nisam napomenuo da se radi o windows-u.
[ MoDcHe @ 07.09.2005. 11:32 ] @
e tu ti ne mogu pomoci :>
mozda ce zaljubljeni znati
[ zaljubljeni @ 07.09.2005. 15:10 ] @
Obrade ja sam mislio za linux i to je to ;0

@sqla ma da verovatno znam za win lol ;0

Mozda prouci kako vadi onaj qrac System Information na winu.
[ misa vranje @ 11.09.2005. 02:54 ] @
Mozda lupam ali mislim da se kod windowsa u system registryju nalaze i podaci o hardveru.Ako sam u pravu onda se raspitaj na netu gde se tacno nalaze ti podaci i koristi modul Win32::TieRegistry da pristupis registriyu
[ obrad_beocin @ 13.12.2005. 07:47 ] @
Uspeo sam da uz pomoc WMI-a dobijem najrazlicitije informacije. Evo prilazem jedan deo koda:

use Win32::OLE('in');
use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

my ($computer) = shift || "";
$objWMIService = Win32::OLE->GetObject
("winmgmts:\\\\$computer\\root\\CIMV2") or die "WMI connection failed.\n";
$colItems = $objWMIService->ExecQuery
("SELECT * FROM Win32_ComputerSystem","WQL",wbemFlagReturnImmediately | wbemFlagForwardOnly);

print "System info:\n\n";

foreach my $objItem (in $colItems)
{
print "Manufacturer: $objItem->{Manufacturer}\n";
print "Model: $objItem->{Model}\n";
print "Name: $objItem->{Name}\n";
print "Primary Owner Name: $objItem->{PrimaryOwnerName}\n";
print "Status: $objItem->{Status}\n";
print "Total Physical Memory: $objItem->{TotalPhysicalMemory}\n";
print "User Name: $objItem->{UserName}\n";
print "\n";
}