Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

McAfee Dat Check

by OzzyOsbourne (Chaplain)
on Mar 07, 2002 at 21:16 UTC ( [id://150133]=sourcecode: print w/replies, xml ) Need Help??
Category: NT Admin
Author/Contact Info OzzyOsbourne
Description: 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.
# 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 Associa
+tes/TVD/NetShield NT/CurrentVersion//szProductVer"} or print OUT "Can
+\'t access registry on $_\n";
    $dat=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associa
+tes/TVD/NetShield NT/CurrentVersion//szVirDefVer"} or print OUT "Can\
+'t access registry on $_\n";
    $engine=$Registry->{"//$_/HKEY_LOCAL_MACHINE/Software/Network Asso
+ciates/TVD/NetShield NT/CurrentVersion//szEngineVer"} or print OUT "C
+an\'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;
Replies are listed 'Best First'.
Re: McAfee Dat Check
by Anonymous Monk on Apr 01, 2009 at 13:09 UTC
    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;

A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: sourcecode [id://150133]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (7)
As of 2024-03-28 19:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found