Do you know where your variables are? | |
PerlMonks |
Re: McAfee Dat Checkby Anonymous Monk |
on Apr 01, 2009 at 13:09 UTC ( [id://754694]=note: print w/replies, xml ) | Need Help?? |
Script did great - only minor modifications needed to keep it running 7 years later! For those who may be interested - I had to change some registry key paths and remove the "engine" check. It was so fast! Worked great with a trimmed-down list from "net view"
here's the modified script: # 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 4.1.09 use strict; use Win32::TieRegistry; #define variables my ($dat,$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 ($ARGV1){ $ARGV1=~s/\\/\//g; $outfile=$ARGV1; }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/ePolicy Orchestrator/Application Plugins/VIRUSCAN8600//Version"} or print OUT "Can\'t access registry on $_\n"; $dat=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/ePolicy Orchestrator/Application Plugins/VIRUSCAN8600//DATVersion"} or print OUT "Can\'t access registry on $_\n"; print OUT "$_\tVersion:$ver\tDat:$dat\n"; print "$_\tVersion:$ver\tDat:$dat\n"; } close IN; close OUT;
In Section
Code Catacombs
|
|