rdcom68
Goto Top

Serverliste.txt auslesen und mit rmtshare auf den Servern nach admin share suchen

Hallo Zusammen,

bin neu hier und habe folgende Aufgabe als ServerAdmin.

Die Aufgabenstellung ist:
Aus eine Liste "Serverliste.txt" Server auslesen und als eine Variable für folgendes Befehl einfügen.

rmtshare \\Server\admin$ >> Ergebnis in die info.txt schreiben

Die Serverliste sieht so aus:

se00001
se00002
se00003

usw.

Die Serverliste wird bei uns jeder Woche aktualisiert, die Share's admin$ sollen geprüft werden: ob die existieren und ob die ereichbar sind

Danke schon im Vorraus für alle möglichen Hilfestellungen.

gruß

rdcom68

Content-Key: 136654

Url: https://administrator.de/contentid/136654

Printed on: April 25, 2024 at 10:04 o'clock

Member: bastla
bastla Feb 23, 2010 at 17:02:40 (UTC)
Goto Top
Hallo rdcom68 und willkommen im Forum!

Da sollte eigentlich eine simple "for /f"-Schleife genügen - mit ein wenig "Drumherum" etwa so:
@echo off & setlocal
set "Liste=D:\Serverliste.txt"  
set "Log=D:\Info.txt"  

del "%Log%" 2^>nul  
for /f "usebackq delims=" %%i in ("%Liste%") do >>"%Log%" rmtshare "\\%%i\admin$"  
Grüße
bastla
Member: rdcom68
rdcom68 Mar 01, 2010 at 13:57:27 (UTC)
Goto Top
Hallo Bastla,

ich danke Dir für die schnelle Hilfe, es funktioniert....

Jetzt habe ich noch eine Frage?

Wie kann ich jetzt gewise Zeilen, Zeichen in der Log rauslesen und die dann im Fehlerfall an das MS Event Viewer leiten?

das ist mein Quellcode:

@echo off & setlocal

set Liste=O:\Data\09_File\Tools\CheckTools\rcpcheck\serverliste.txt
set Log=O:\Data\09_File\Tools\CheckTools\rcpcheck\log.txt

del %Log% 2^>nul

rem FOR /F "usebackq delims=" %%i IN (%Liste%) DO >>%Log% net use \\%%i\Robi$"
FOR /F "usebackq delims=" %%i IN (%Liste%) DO >>%Log% rmtshare \\%%i\Robi$


Das ist meine Log.txt

The command completed successfully.
The command failed: 2310
The command failed: 2310

Bei Command Failed, soll es ins Event Viewer schreiben

Gruß und Danke

rdcom68
Member: bastla
bastla Mar 01, 2010 at 16:38:38 (UTC)
Goto Top
Hallo rdcom68!

Auf die Schnelle habe ich nur diesen KB-Artikel zu bieten - die angesprochene "logevent.exe" sollte sich in den NT 4.0 RK-Tools finden lassen ...

Das Prüfen der "Log.txt" könnte schematisch etwa so aussehen:
for /f "tokens=4" %%i in ('findstr /b /c:"The command failed:" Log.txt') do echo Error %%i

Grüße
bastla
Member: rdcom68
rdcom68 Mar 04, 2010 at 10:55:23 (UTC)
Goto Top
Hi bastla,

SUPER...es funktioniert, jetzt habe ich noch eine Frage:

Ich möchte merere Shares durchprüfen, nicht nur die admin$.
Habe mir eine Liste erstellt wo die shares aufgelistet sind "shares.txt" die wird auch abgearbeitet, wenn Fehler dann ins Eventlog mit dem Tool Logevent.exe schreiben.
Möchte aber das in Description Feld auch das betroffenes Share zu lesen ist....zur Zeit habe ich nur das hier:

Eventlog Desciption:

The description for Event ID ( 22 ) in Source ( Share Check ) cannot be found.
The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details.
The following information is part of the event: The command failed: Missing 2310 Share.

Wunsch:

event: The command failed: Missing robi$ Share.
event: The command failed: Missing admin$ Share.
event: The command failed: Missing test$ Share.
event: The command failed: Missing blabla$ Share.
event: The command failed: Missing gruppen$ Share.

Batch:

@echo on & setlocal

set Log=D:\Tools\CheckTools\batch\RCPCheck\log.txt
set Liste=D:\Tools\CheckTools\batch\RCPCheck\serverliste.txt
set Share=D:\Tools\CheckTools\batch\RCPCheck\shares.txt
set server=%computername%
echo.%server%>%Liste%

del %Log% 2^>nul
for /f "usebackq delims=" %%i IN (%Share%) DO >>%Log% rmtshare \\%server%\%%i
for /f "tokens=4" %%i in ('findstr /b /c:"The command failed:" %Log%') do logevent -m \\%server% -s E -c 100 -r "Share Check" "The command failed: Missing %%i Share" -e 22



Share.txt

robi$
admin$
test$
blabla$
gruppen$


Log.txt


The command failed: 2310
Share name \\SE000030\admin$
Path C:\WINDOWS
Remark Remote Admin
Maximum users No limit
Users 0
No permissions specified.
The command completed successfully.
The command failed: 2310
The command failed: 2310
The command failed: 2310



Im Vorraus Vielen Dank schon für Deine Hilfe.

Gruß

rdcom68
Member: bastla
bastla Mar 04, 2010 at 19:03:53 (UTC)
Goto Top
Hallo rdcom68!

Soferne Du auf das Log verzeichten kannst, könnstest Du es so versuchen:
@echo on & setlocal

set Liste=D:\Tools\CheckTools\batch\RCPCheck\serverliste.txt
set Share=D:\Tools\CheckTools\batch\RCPCheck\shares.txt
set server=%computername%
echo.%server%>%Liste%

del %Log% 2^>nul
for /f "usebackq delims=" %%i in (%Share%) do rmtshare \\%server%\%%i|findstr "failed:">nul && logevent -m \\%server% -s E -c 100 -r "Share Check" "The command failed: Missing %%i Share" -e 22  
Die Variante mit Log könnte so aussehen:
@echo on & setlocal

set Log=D:\Tools\CheckTools\batch\RCPCheck\log.txt 
set Liste=D:\Tools\CheckTools\batch\RCPCheck\serverliste.txt
set Share=D:\Tools\CheckTools\batch\RCPCheck\shares.txt
set"LogTemp=%temp%\LogTemp.txt  
set server=%computername%
echo.%server%>%Liste%

for /f "usebackq delims=" %%i in (%Share%) do (  
    >%LogTemp% rmtshare \\%server%\%%i
    type %LogTemp%>>%Log%
    findstr /b /c:"The command failed:" %LogTemp%>nul && do logevent -m \\%server% -s E -c 100 -r "Share Check" "The command failed: Missing %%i Share" -e 22  
)
Grüße
bastla
Member: rdcom68
rdcom68 Mar 09, 2010 at 08:15:13 (UTC)
Goto Top
Hey bastla,

du bist wirklich spitze...echt...das funktioniert alles prima.

Ich möchte mich nochmal herzlich bei Dir für Deinen Einsatz bedanken.

Gruß

rdcom68