use Win32::Lanman; use Win32::Adminmisc; use Date::Manip; @server=qw(serveur1 serveur2); $limite=10000000; $share=""; @exchange=qw(exchange1\\F$ exchange2\\F$ exchange3\\F$ exchange4\\E$ ); #priv.edb, pub.edb for $server (@server) { @disks=qw(); if(!Win32::Lanman::NetServerDiskEnum("\\\\$server", \@disks)) { # print "error on $server, something went wrong; error: "; # get the error code # print Win32::Lanman::GetLastError(); # exit 1; } foreach $disk (@disks) { $share=$disk; $share=~s/:/\$/; ($nowsec,$nowmin,$nowhour,$nowmday,$nowmon,$nowyear,$nowwday,$nowyday,$nowisdst) = localtime(time()); $nowyear+=1900; ($Total, $Free) = Win32::AdminMisc::GetDriveSpace("\\\\$server\\$share\\"); $pourcent=($Free/$Total) * 100 if ($Total ne "" ); for ($i=3 ; $i < length($Total) ; $i += 4 ) {substr($Total,-$i,0) = '.' ; } for ($i=3 ; $i < length($Free) ; $i += 4 ) {substr($Free,-$i,0) = '.' ; } printf STDOUT ("%15s,%3s,%s%s%s,%s:%s,%3d,%15s,%15s\n",$server,$disk,$nowyear,$nowmon,$nowmday,$nowhour,$nowmin,$pourcent,$Total,$Free) if ($Total ne "" ); } } for $exchange (@exchange) { undef @res; open PIPE, "dir /-c \\\\$exchange\\EXCHSRVR\\MDBDATA\\*.edb |"; @res = ; close PIPE or die "bad pipe: $?, $!"; for $res (@res) { if ( $res =~/edb/i ) { ($date,$time,$size,$filename)=split/\s+/,$res; for ($i=3 ; $i < length($size) ; $i += 4 ) {substr($size,-$i,0) = '.' ; } printf STDOUT ("%15s,%10s,%10s,%10s,0,0,%15s\n",$exchange,$filename,$date,$time,$size); } } } exit; my($hostname, $line, $passwd, $pop, $username); $hostname = "tai02"; $username = "user"; $passwd="password"; use Net::Telnet (); $pop = new Net::Telnet (Telnetmode => 0); $pop->open(Host => $hostname, Port => 23); ## Read connection message. $line = $pop->getline; print $line; die $line unless $line =~ /^\Username/; ## Send user name. $pop->print("$username"); $line = $pop->getline; print $line; die $line unless $line =~ /^\Password/; ## Send password. $pop->print("$passwd"); $line = $pop->getline; print $line; die $line unless $line =~ /^\Last/; ## Request status of messages. $pop->print("INFB"); $line = $pop->getline; print $line; die $line unless $line =~ /^\tai02/; $pop->print("dir"); $line = $pop->getline; print $line; exit;