sourcecode
OzzyOsbourne
<code>
# Lists version, engine, and dat versions for Netshield servers listed in
# specified infile to the specified outfile.
# Usage checkdatall.pl [inputfile] [outputfile]
# The input file should be a text file with one server per line
# Simple Help can be obtained with or -?
# Updated on 9.25.01
use strict;
use Win32::TieRegistry;
#define variables
my ($dat,$engine,$ver,$infile,$outfile);
if ($ARGV[0]){
if ($ARGV[0] eq '-?'){die "Usage checkdatall.pl [infile] [outfile]\n";}
$ARGV[0]=~s/\\/\//g;
$infile=$ARGV[0];
}else{
$infile='allservers.txt';
}
if ($ARGV[1]){
$ARGV[1]=~s/\\/\//g;
$outfile=$ARGV[1];
}else{
$outfile='checkdatall.log';
}
open (IN,"<$infile") or die "Can't open file for read";
open (OUT,">$outfile") or die "Can't open file for write";
#Read the dat file version
while (<IN>){
chomp;
$Registry->Delimiter("/");
$ver=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/TVD/NetShield NT/CurrentVersion//szProductVer"} or print OUT "Can\'t access registry on $_\n";
$dat=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/TVD/NetShield NT/CurrentVersion//szVirDefVer"} or print OUT "Can\'t access registry on $_\n";
$engine=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/TVD/NetShield NT/CurrentVersion//szEngineVer"} or print OUT "Can\'t access registry on $_\n";
print OUT "$_\tVersion:$ver\tEngine:$engine\tDat:$dat\n";
print "$_\tVersion:$ver\tEngine:$engine\tDat:$dat\n";
}
close IN;
close OUT;
</code>
Checks the Netshield Dats, engines and versions on all of your servers. Create a file called allservers.txt and put your servers in it, one per line.
NT Admin
[OzzyOsbourne]