Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

McAfee Dat Check

by OzzyOsbourne (Chaplain)
on Mar 07, 2002 at 21:16 UTC ( #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 cooling their heels in the Monastery: (3)
As of 2023-12-10 05:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?











    Results (38 votes). Check out past polls.

    Notices?