1 Eintrag, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/local/bin/perl
use Mail::Mailer;
$from = "*\@*.de";
$to1="*\ @*.de";
if ( length( $ARGV[0] ) == 1 ) {
print "Usage: perl scankba.pl \"name of computer\"";
exit 0;
}
else {
}
print "Starte scankba.pl Using $ARGV[0]\n";
$ii = $ARGV[0];
if ( $ii eq "*" ) {
$ii = '';
}
#öffne Log File zur Datensicherung
open( LOG, ">>scankba2.log" ) || die "Konnte die Log-datei nicht öffnen!";
$ActualDate = `date /T`;
$ActualTime = `Time /T`;
$ActualDate = "$ActualDate $ActualTime";
print LOG "Start: $ActualDate";
open(VIEW1, "net view /DOMAIN |" ) || die "Fehler\n";
$jj = 0;
while ( $domain[$jj] = <VIEW1> ) {
$jj = $jj + 1;
}
for ( $kk = 11; $kk < $jj -2; $kk++ ) {
$domain[$kk] =~ tr/\n//d;
$domain[$kk] =~ tr/ //d;
print "\nDer Domain \"$domain[$kk]\" wird getestet\n";
# Finde alle Computer
open( VIEW, "net view /DOMAIN:$domain[$kk] |" ) || die "Error\n";
$j = 0;
while ( $line = <VIEW> ) {
@comps = split ( / /, $line );
if ( substr( $comps[0], 0, 2 ) eq "\\\\" and grep( /$ii/, $comps[0] ) )
{
print "\nDer Computer \"$comps[0]\" wird getestet\n";
print "---------------\n";
$LIST[$kk][$j][0] = substr( $comps[0], 2, length( $comps[0] ) - 2 );
open( VIEW2, "net view $comps[0]|") || die "Fehler\n";
$k =1;
while ( $line2 = <VIEW2> ) {
@shares = split ( / /, $line2 );
if ( grep( /Platte/, $line2 ) or grep( /Disk/, $line2 ) ) {
print "Die Freigabe \"$shares[0]\" wird ueberprueft\n";
open( COPY, "copy /Y liemich.txt $comps[0]\\$shares[0]\\ |" )
|| die "Fehler\n";
$line3 = <COPY>;
if ( grep( /1/, $line3 ) ) {
#open(LOESCHEN), "del $comps[0]\\shares[0]}}liesmich.txt |")|| die "Fehler\n";
$LIST[$kk][$j][$k] = $shares[0];
print LOG
"Auf dem $comps[0] gibt es eine Freigabe \"$shares[0]\", die verwaltet werden kann\n";
"Auf dem $comps[0] gibt es eine Freigabe \"$shares[0]\", die verwaltet werden kann\n";
$k = $k +1;
}
}
}
$j = $j +1
}
}
print LOG "Ende\n";
#Schließen der LOG-Datei
close(LOG) || die "Konnte die Log-Datei nicht schließen: $!\n";
&SendInfoMail;
sub SendInfoMail {
$subject = "ScanErgebnis";
$body = "Die Liste der Freigaben, die verwaltet werden können.\n";
$j = 0;
for ( $kk = 11; $kk < $jj - 2; $kk++ ) {
while ( $LIST[$kk][$j][0] ne "" ) {
$k = 1;
if ( $j eq 0 ) {
$body = "$body\nComputer | Freigabe\n";
$body = "$body----------------------------------\n";
}
while ( $LIST[$kk][$j][$k][0] ne "" ) {
$body = "$body$LIST[$kk][$j][0] | $LIST[$kk][$j][$k]\n";
$k = "$k + 1";
}
$j = $j + 1;
}
}
if ( $body eq "Die Liste der Freigaben, die verwaltet werden können\n" ) {
#exit 1;
}
$body="$body\nDer Test wurde am $ActualDate ausgeführt\n";
$type = "smtp";
$server = "rbmail";
my $mailer = Mail::Mailer->new( $type, Server => $server )
or die "Unable to create new mailer object:$!\n";
$mailer->open(
{
From => $from,
To => [ $to1 ],
subject => $subject
}
)
or
die "Unable to populate mailer obeject:$!\n";
print $mailer $body;
print $mailer $LIST;
$mailer->close;
}
}
1 Eintrag, 1 Seite |