<?xml version="1.0" encoding="windows-1252"?>
<node id="150133" title="McAfee Dat Check" created="2002-03-07 16:16:43" updated="2005-08-11 07:59:11">
<type id="1748">
sourcecode</type>
<author id="21786">
OzzyOsbourne</author>
<data>
<field name="doctext">
&lt;code&gt;
# 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,"&lt;$infile") or die "Can't open file for read";
open (OUT,"&gt;$outfile") or die "Can't open file for write";
#Read the dat file version
while (&lt;IN&gt;){
    chomp;
    $Registry-&gt;Delimiter("/");
    $ver=$Registry-&gt;{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/TVD/NetShield NT/CurrentVersion//szProductVer"} or print OUT "Can\'t access registry on $_\n";
    $dat=$Registry-&gt;{"//$_/HKEY_LOCAL_MACHINE/Software/Network Associates/TVD/NetShield NT/CurrentVersion//szVirDefVer"} or print OUT "Can\'t access registry on $_\n";
    $engine=$Registry-&gt;{"//$_/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;
&lt;/code&gt;
</field>
<field name="codedescription">
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.</field>
<field name="codecategory">
NT Admin</field>
<field name="codeauthor">
[OzzyOsbourne]</field>
</data>
</node>
