Win32::AdminMisc

Hallo

Ich wollte für alle lokalen Laufwerke den freien Speicher
beobachten und bei =C4nderungen (maximal aber 1-mal pro Minute)
einen Logeintrag generieren.

Im Buch "Perl für System-Administratoren" stand was von
Win32::AdminMisc::GetDriveSpace, das habe ich aber nicht mehr
gefunden.
Ich habe mir daher mit " [at] aDir =3D `dir $_`;" geholfen (in $_ steht
das jeweilige Root-Verzeichnis (also C:\...) ).

Das funktioniert einwandfrei. Trotzdem würde mich interessieren,
ob es das Paket AdminMisc noch gibt. Oder gibt es irgendeinen
Nachfolger dafür?

--
Schönen Gruß aus dem Bergischen Land
Robert
Robert Berghaus [ Mo, 27 August 2007 19:01 ] [ ID #1806533 ]

Re: Win32::AdminMisc

* Robert Berghaus wrote in de.comp.lang.perl.misc:
>Das funktioniert einwandfrei. Trotzdem würde mich interessieren,
>ob es das Paket AdminMisc noch gibt. Oder gibt es irgendeinen
>Nachfolger dafür?

Es gibt mehrere Module die u.a. GetDiskFreeSpace für Perl zugänglich
machen, zum Beispiel Win32::DriveInfo und Win32::DirSize. Nach dem
Win32 Funktionsnamen zu suchen, sollte ein passendes Modul hervor-
bringen.
--
Björn Höhrmann · mailto:bjoern [at] hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
Bjoern Hoehrmann [ Mo, 27 August 2007 19:14 ] [ ID #1806534 ]

Re: Win32::AdminMisc

Robert Berghaus schrieb:
> Ich wollte für alle lokalen Laufwerke den freien Speicher beobachten und
> bei Änderungen (maximal aber 1-mal pro Minute) einen Logeintrag generieren.
>
> Im Buch "Perl für System-Administratoren" stand was von
> Win32::AdminMisc::GetDriveSpace, das habe ich aber nicht mehr gefunden.
> Ich habe mir daher mit " [at] aDir = `dir $_`;" geholfen (in $_ steht das
> jeweilige Root-Verzeichnis (also C:\...) ).
>
> Das funktioniert einwandfrei. Trotzdem würde mich interessieren, ob es
> das Paket AdminMisc noch gibt. Oder gibt es irgendeinen Nachfolger dafür?

Wenn's nur um das Auslesen von Infos geht, verwende ich sehr gerne
das WMI interface. Möglichkeiten, von Perl aus darauf zuzugreifen,
gibt es mehrere. Besonders praktisch, wenn auch noch nicht komplett
implementiert (z.B. Authentifizierung fehlt noch) ist der Zugriff
mittels DBD::WMI:
------------------------------------------------------------ -----
use strict;
use warnings;
use DBI;

my $wmi = DBI->connect('DBI:WMI:.'); # . = localhost
my $qry = $wmi->prepare( 'SELECT * FROM Win32_LogicalDisk' );

$qry->execute;

while( my [at] r = $qry->fetchrow() ) {
printf(
'%2s %9.02f MB %s',
$r[0]->{'Name'},
($r[0]->{'FreeSpace'} || 0) / 1048576,
$/
)
}
------------------------------------------------------------ -----

Ansonsten lässt sich auch direkt via Win32::OLE darauf zugreifen.

-Christian
Christian Winter [ Di, 28 August 2007 09:28 ] [ ID #1807183 ]

Re: Win32::AdminMisc

Vielen Dank für Eure Tips.
Ich habe jetzt auch AdminMisc gefunden und werde alles mal
ausprobieren.

--
Schönen Gruß aus dem Bergischen Land
Robert
Robert Berghaus [ Di, 28 August 2007 11:55 ] [ ID #1809161 ]
Perl » de.comp.lang.perl.misc » Win32::AdminMisc

Vorheriges Thema: s/// bzw. y/// in map
Nächstes Thema: Re: Problem mit Variablenzuweisung