Jede Nacht nach neuen Shares auf allen Servern scannen
Hallo,
ich bin auf der Suche nach einem Tool bzw. Script welches ich als Cronjob ausfuehren kann (jede Nacht), das mir einen IP-Range auf SMB-Shares durchscanned und mir die Results anschliessend als txt Datei bzw. als Mail zuschickt.
Somit koennte man feststellen wann ein Fileserveradmin oder jemand anders einen neuen Share veroeffentlicht hat.
Praktisch waere es evtl. auch wenn das "Tool" einem evtl. auch die Rechte auflisten kann.
Ich weiss das es mit SRVCHECK aus dem 2003er ResourceKit funktioniert, jedoch kann dies keinen IP-Range scannen, sondern man muss die Server manuell angeben und es kann keine HIDDEN-SHARES auf die es mir auch ankommt.
Hat jemand von euch schonmal sowas gefunden bzw. geschrieben.
Da ich nicht der super Coder bin steh ich da gerade etwas auf dem Schlauch....
Vielen Dank schonmal vorab.
hagbard
ich bin auf der Suche nach einem Tool bzw. Script welches ich als Cronjob ausfuehren kann (jede Nacht), das mir einen IP-Range auf SMB-Shares durchscanned und mir die Results anschliessend als txt Datei bzw. als Mail zuschickt.
Somit koennte man feststellen wann ein Fileserveradmin oder jemand anders einen neuen Share veroeffentlicht hat.
Praktisch waere es evtl. auch wenn das "Tool" einem evtl. auch die Rechte auflisten kann.
Ich weiss das es mit SRVCHECK aus dem 2003er ResourceKit funktioniert, jedoch kann dies keinen IP-Range scannen, sondern man muss die Server manuell angeben und es kann keine HIDDEN-SHARES auf die es mir auch ankommt.
Hat jemand von euch schonmal sowas gefunden bzw. geschrieben.
Da ich nicht der super Coder bin steh ich da gerade etwas auf dem Schlauch....
Vielen Dank schonmal vorab.
hagbard
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 55774
Url: https://administrator.de/forum/jede-nacht-nach-neuen-shares-auf-allen-servern-scannen-55774.html
Ausgedruckt am: 23.04.2025 um 02:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo hagbard und willkommen im Forum!
Als Ansatz könnte ich folgende Kombination aus Batch-File und VBScript anbieten:
Das verwendete Script (im Beispiel gespeichert als "C:\Scripts\ListSharesForIP.vbs") könnte etwa so aussehen:
Die Anpassung der IP-Range (derzeit 172.16.0.2 bis 172.16.0.240) sollte kein Problem sein - bei Bedarf kann auch eine Liste aus einer Textdatei oder ganz einfach ersatzweise eine Zeile wie
zur selektiven Verarbeitung von Adressen (172.16.0.3, 172.16.0.4, etc) verwendet werden.
Ausgegeben wird eine CSV-Datei (oder genauer, wie Biber gerne anmerkt, SSV, weil "semicolon-separated"
) - siehe WScript.Echo-Zeile.
Die als Cron-Job aufzurufende Batchdatei lässt sich natürlich zB um den Mailversand erweitern (Stichwort "blat" - Beispiele dazu hier im Forum).
Voraussetzung für das Auslesen der Informationen sind Admin-Rechte auf den einzelnen Servern.
Nicht ganz auf Deinen Anwendungszweck ausgerichtet, aber vieleicht auch einen Blick wert, wäre ShareEnum.
Grüße
bastla
Als Ansatz könnte ich folgende Kombination aus Batch-File und VBScript anbieten:
@echo off & setlocal
set "Log=D:\SharesList.txt"
if exist "%Log%" del "%Log%"
for /l %%i in (2,1,240) do call :ProcessIP %%i
rem blat ...
goto :eof
:ProcessIP
set IP=172.16.0.%1
ping %IP%|findstr /c:"(100" >nul && goto :eof
cscript //nologo "C:\Scripts\ListSharesForIP.vbs" %IP%>>"%Log%"
'ListSharesForIP.vbs
If WScript.Arguments.Count = 0 Then
WScript.Echo "Keine IP angegeben."
WScript.Quit(1)
Else
strComputer = WScript.Arguments(0)
End If
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Share",,48)
For Each objItem in colItems
WScript.Echo strComputer & ";" & objItem.Name & ";" & objItem.Caption & ";" & objItem.Path
Next
for %%i in (3 4 5 7 10) do call :ProcessIP %%i
Ausgegeben wird eine CSV-Datei (oder genauer, wie Biber gerne anmerkt, SSV, weil "semicolon-separated"
Die als Cron-Job aufzurufende Batchdatei lässt sich natürlich zB um den Mailversand erweitern (Stichwort "blat" - Beispiele dazu hier im Forum).
Voraussetzung für das Auslesen der Informationen sind Admin-Rechte auf den einzelnen Servern.
Nicht ganz auf Deinen Anwendungszweck ausgerichtet, aber vieleicht auch einen Blick wert, wäre ShareEnum.
Grüße
bastla
Hi,
als (leider nicht kostenloses) Tool kann ich Dir "Security Explorer" empfehlen,
siehe: http://www.scriptlogic.com/products/securityexplorer/
Gibt aber eine kostenlose Demo-/Testversion.
Gruß
cykes
als (leider nicht kostenloses) Tool kann ich Dir "Security Explorer" empfehlen,
siehe: http://www.scriptlogic.com/products/securityexplorer/
Gibt aber eine kostenlose Demo-/Testversion.
Gruß
cykes