Suche nach Dateien mit doppelter Dateiendung
Kangaroojack (Level 1) - Jetzt verbinden
18.02.2016 um 18:51 Uhr, 1947 Aufrufe, 18 Kommentare, 2 Danke
Hallo Leute,
evtl. eine triviale Aufgabe, aber ich bekomme es nicht hin.
Ziel ist es von diesen blöden Verschlüsselungsviren betroffene Files zu finden. Bisher werden da ja (zum Glück noch) Dateiendungen angehangen, so dass man das noch analysieren kann.
Die Files heissen dann meist *.txt.mp3 oder *.doc.vvv etc.
Habe ein Powershellskript, welches mit das Dateisystem durchsucht und in eine Variable ausgibt.
Ich mache das bewusst mit dir /s /b weil Get-ChildItem einfach viel zu langsam ist.
Nun ist mir die Suche allerdings zu ungenau - da die Files bei einem Befall von Morgen evtl. die Endung *.zdf haben können.
Jetzt möchte ich die Suche dahingehend ändern, dass nach
*.???.???
gesucht wird.
Also quasi nach zwei "Punkten" mit genau 3 zeichen, die variabel sein können, dazwischen.
Hab schon bisschen rumgespielt, aber bekomme es nicht hin.
bzw.
oder
bringt leider auch die Files, die eine normale Dateiendung haben z.B. *.txt und halt nicht wie gewünscht nur Dateien mit *.txt.*
Habt ihr eine Idee für die Umsetzung?
Gruß
KangarooJack
evtl. eine triviale Aufgabe, aber ich bekomme es nicht hin.
Ziel ist es von diesen blöden Verschlüsselungsviren betroffene Files zu finden. Bisher werden da ja (zum Glück noch) Dateiendungen angehangen, so dass man das noch analysieren kann.
Die Files heissen dann meist *.txt.mp3 oder *.doc.vvv etc.
Habe ein Powershellskript, welches mit das Dateisystem durchsucht und in eine Variable ausgibt.
Ich mache das bewusst mit dir /s /b weil Get-ChildItem einfach viel zu langsam ist.
$Virusverdacht = cmd /c dir /s /b *.micro *.vvv *.encrypted *.ccc *.aaa *HOW_RECOVER* *HELP_RECOVER* *howto_recover*
Nun ist mir die Suche allerdings zu ungenau - da die Files bei einem Befall von Morgen evtl. die Endung *.zdf haben können.
Jetzt möchte ich die Suche dahingehend ändern, dass nach
*.???.???
gesucht wird.
Also quasi nach zwei "Punkten" mit genau 3 zeichen, die variabel sein können, dazwischen.
Hab schon bisschen rumgespielt, aber bekomme es nicht hin.
dir /s /b *.???.
dir /s /b *.???.*
$Virusverdacht = cmd /c dir /s /b | select-string -pattern ".*."
bringt leider auch die Files, die eine normale Dateiendung haben z.B. *.txt und halt nicht wie gewünscht nur Dateien mit *.txt.*
Habt ihr eine Idee für die Umsetzung?
Gruß
KangarooJack
18 Antworten
- LÖSUNG 126919 schreibt am 18.02.2016 um 20:18:39 Uhr
- LÖSUNG Kangaroojack schreibt am 18.02.2016 um 20:27:34 Uhr
- LÖSUNG 126919 schreibt am 18.02.2016 um 20:50:39 Uhr
- LÖSUNG Kangaroojack schreibt am 18.02.2016 um 23:30:40 Uhr
- LÖSUNG 126919 schreibt am 19.02.2016 um 11:23:28 Uhr
- LÖSUNG Kangaroojack schreibt am 18.02.2016 um 23:30:40 Uhr
- LÖSUNG TlBERlUS schreibt am 19.02.2016 um 09:04:52 Uhr
- LÖSUNG Kangaroojack schreibt am 19.02.2016 um 12:58:25 Uhr
- LÖSUNG TlBERlUS schreibt am 19.02.2016 um 13:45:57 Uhr
- LÖSUNG Kangaroojack schreibt am 19.02.2016 um 14:26:32 Uhr
- LÖSUNG 126919 schreibt am 19.02.2016 um 14:44:55 Uhr
- LÖSUNG Kangaroojack schreibt am 19.02.2016 um 14:26:32 Uhr
- LÖSUNG TlBERlUS schreibt am 19.02.2016 um 13:45:57 Uhr
- LÖSUNG Kangaroojack schreibt am 19.02.2016 um 12:58:25 Uhr
- LÖSUNG 126919 schreibt am 18.02.2016 um 20:50:39 Uhr
- LÖSUNG Kangaroojack schreibt am 18.02.2016 um 20:27:34 Uhr
- LÖSUNG joachim57 schreibt am 19.02.2016 um 11:20:46 Uhr
- LÖSUNG Kangaroojack schreibt am 22.02.2016 um 17:50:23 Uhr
- LÖSUNG colinardo schreibt am 22.02.2016 um 20:30:30 Uhr
- LÖSUNG Kangaroojack schreibt am 22.02.2016 um 20:44:49 Uhr
- LÖSUNG colinardo schreibt am 23.02.2016 um 00:19:34 Uhr
- LÖSUNG colinardo schreibt am 23.02.2016 um 11:59:02 Uhr
- LÖSUNG Kangaroojack schreibt am 23.02.2016 um 21:45:02 Uhr
- LÖSUNG colinardo schreibt am 02.03.2016 um 16:40:37 Uhr
- LÖSUNG Kangaroojack schreibt am 23.02.2016 um 21:45:02 Uhr
- LÖSUNG Kangaroojack schreibt am 22.02.2016 um 20:44:49 Uhr
- LÖSUNG colinardo schreibt am 22.02.2016 um 20:30:30 Uhr
LÖSUNG 18.02.2016, aktualisiert um 20:19 Uhr
gci 'c:\*.???.???' -Recurse -Force
LÖSUNG 18.02.2016, aktualisiert um 20:34 Uhr
gci ist viel zu langsam und scheidet daher aus. Dachte das hätte ich bereits oben erwähnt.
LÖSUNG 18.02.2016, aktualisiert um 20:51 Uhr
dir /b /s /A-D | findstr "\....\....$"
LÖSUNG 18.02.2016, aktualisiert um 23:31 Uhr
Danke für dein Post!
Das funktioniert. Leider bringt mir das jetzt viel zu viele Ergebnisse zurück.
Wenn man das jetzt noch filtern könnte, also dass nur Dateien gelistet werden, die heute geschrieben/geändert wurden - dann wärs denke ich okay.
also in etwa so:
Leider steht damit im Ergebnis kein Pfad drin und man müsste Datum/Uhrzeit wegtrimmen....
Und mit dir /s /b... lässt sich nicht nach dem Datum filtern...hmmmm
Das funktioniert. Leider bringt mir das jetzt viel zu viele Ergebnisse zurück.
Wenn man das jetzt noch filtern könnte, also dass nur Dateien gelistet werden, die heute geschrieben/geändert wurden - dann wärs denke ich okay.
also in etwa so:
dir /s /A-D | findstr "18.02.2016" | findstr "\....\....$"
Leider steht damit im Ergebnis kein Pfad drin und man müsste Datum/Uhrzeit wegtrimmen....
Und mit dir /s /b... lässt sich nicht nach dem Datum filtern...hmmmm
LÖSUNG 19.02.2016, aktualisiert um 09:08 Uhr
Zitat von @Kangaroojack:
gci ist viel zu langsam und scheidet daher aus. Dachte das hätte ich bereits oben erwähnt.
Dir ist aber bewußt, dass 'dir' in Powershell ein Alias für 'gci' ist, und dazu in der Ausführung langsamer ist?gci ist viel zu langsam und scheidet daher aus. Dachte das hätte ich bereits oben erwähnt.
Zeit für ein Verzeichnis mit 598 Ordnern und 24.026 Dateien (mit recurse)
dir: 00:00:03.3278915
gci: 00:00:03.2744544
LÖSUNG 19.02.2016 um 11:20 Uhr
Ich experimentiere auch gerade mit sowas rum. Im Moment sieht mein Code so aus:
Ausführungszeit bei 14.647 Dateien, 2.072 Ordner, 13,9 GB ca. 4 Sekunden
Die Idee dafür stammt von HIER
Bin leider nicht so fit mit Powershell. Ist also bestimmt noch verbesserungsfähig...
Write-Host ("Powershell Version: " + $host.version.major)
$path="D:\LWE"
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
$strOutFileName=$scriptPath + "\DateiListe.txt"
write-Host ("Output file is: " + $strOutFileName )
If (Test-Path $strOutFileName){
Remove-Item $strOutFileName
}
$checkfiles=@(
"*decipher*"
,"*install_tor*.*"
,"*restore_file*.*"
,"*want your files back.*"
,"confirmation.key"
,"enc_files.txt"
,"last_chance.txt"
,"recovery_file.txt"
,"recovery_key.txt"
,"*help_your_files*.*"
,"*help_restore*.*"
,"*HELP_TO_DECRYPT*.*"
,"*HELP_TO_SAVE*.*"
,"*HELP_DECRYPT*.*"
,"*HOW_DECRYPT*.*"
,"*how_to_recover*.*"
,"*DecryptAllFiles*.txt"
,"*DECRYPT_INSTRUCTION*.*"
,"*recover_instructions.*"
,"*.locky"
,"*.*yC"
,"*.jpg.*"
,"*.jpeg.*"
,"*.doc.*"
,"*.docx.*"
,"*.xls.*"
,"*.xlsx.*"
,"*.pdf.*"
,"*.xml.*"
)
$mypath=$path + "\*"
if ($host.version.major -gt 2) {
#Powershell 4, ignore instead silentlycontinue
$fileslist=@(get-childitem -path $mypath -Recurse -Include $checkfiles -ErrorAction Ignore)
} else {
#Powershell 2 doesn't have ignore and recurse works differently with wildcards, therefore returns all files and is much, much slower than posh4
$fileslist=@(get-childitem -path $mypath -Recurse -Include $checkfiles -ErrorAction SilentlyContinue)
}
# Write-Host $fileslist
foreach ($item in $fileslist) {
# hier könnte man noch nach Datum filtern
if ($host.version.major -gt 2) {
#Powershell 4, ignore instead silentlycontinue
$a="$_$((get-item $item.fullname -erroraction ignore).lastwritetime.tostring("dd.MM.yyyy HH:mm:ss"))`t$($item.Fullname)"
} else {
#Powershell 2 doesn't have ignore and recurse works differently with wildcards, therefore returns all files and is much, much slower than posh4
$a="$_$((get-item $item.fullname).lastwritetime.tostring("dd.MM.yyyy HH:mm:ss"))`t$($item.Fullname)"
}
Out-File -filePath $strOutFileName -inputobject $a -append
}
Ausführungszeit bei 14.647 Dateien, 2.072 Ordner, 13,9 GB ca. 4 Sekunden
Die Idee dafür stammt von HIER
Bin leider nicht so fit mit Powershell. Ist also bestimmt noch verbesserungsfähig...
LÖSUNG 19.02.2016, aktualisiert um 11:39 Uhr
Zitat von @Kangaroojack:
Danke für dein Post!
Das funktioniert. Leider bringt mir das jetzt viel zu viele Ergebnisse zurück.
Wenn man das jetzt noch filtern könnte, also dass nur Dateien gelistet werden, die heute geschrieben/geändert wurden - dann wärs denke ich okay.
Kein Problem, wenn man's vorher weiß ...Danke für dein Post!
Das funktioniert. Leider bringt mir das jetzt viel zu viele Ergebnisse zurück.
Wenn man das jetzt noch filtern könnte, also dass nur Dateien gelistet werden, die heute geschrieben/geändert wurden - dann wärs denke ich okay.
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%a in ('dir /B /S /A-D "C:\" ^| findstr "\....\....$"') DO set t=%%~ta & if "!t:~0,10!" == "%DATE%" echo %%a
@joachim57
lässt sich für Dateien die sich heute geändert haben so abkürzen:
$path = "C:\Ordner"
$trigger=@(
".*decipher.*"
,".*install_tor.*\..*"
,".*restore_file.*\..*"
,".*want your files back\..*"
,"confirmation\.key"
,"enc_files\.txt"
,"last_chance\.txt"
,"recovery_file\.txt"
,"recovery_key\.txt"
,".*help_your_files.*\..*"
,".*help_restore.*\..*"
,".*HELP_TO_DECRYPT.*\..*"
,".*HELP_TO_SAVE.*\..*"
,".*HELP_DECRYPT.*\..*"
,".*HOW_DECRYPT.*\..*"
,".*how_to_recover.*\..*"
,".*DecryptAllFiles.*\.txt"
,".*DECRYPT_INSTRUCTION.*\..*"
,".*recover_instructions.*"
,".*\.locky"
,".*\..*yC"
,".*\.jpg\..*"
,".*\.jpeg\..*"
,".*\.doc\..*"
,".*\.docx\..*"
,".*\.xls\..*"
,".*\.xlsx\..*"
,".*\.pdf\..*"
,".*\.xml\..*"
) -join '|'
gci $path -Recurse -ErrorAction Ignore | ?{$_.LastWriteTime.date -eq (get-date).Date -and $_.Name -match $trigger}
LÖSUNG 19.02.2016 um 12:58 Uhr
Zitat von @TlBERlUS:
Zeit für ein Verzeichnis mit 598 Ordnern und 24.026 Dateien (mit recurse)
Zitat von @Kangaroojack:
gci ist viel zu langsam und scheidet daher aus. Dachte das hätte ich bereits oben erwähnt.
Dir ist aber bewußt, dass 'dir' in Powershell ein Alias für 'gci' ist, und dazu in der Ausführung langsamer ist?gci ist viel zu langsam und scheidet daher aus. Dachte das hätte ich bereits oben erwähnt.
Zeit für ein Verzeichnis mit 598 Ordnern und 24.026 Dateien (mit recurse)
> dir: 00:00:03.3278915
> gci: 00:00:03.2744544
>
deshalb ja auch
cmd / c dir....
DIR ist bei sehr vielen Dateien um WELTEN schneller als GCI! Habs selber probiert. Wenn ich über GCI suche, braucht mein Skript >30 Minuten.
mit DIR ist es oft in ca. 10 Minuten durch!
Hier ein Post dazu:
http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...">http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...
LÖSUNG 19.02.2016 um 13:45 Uhr
Zitat von @Kangaroojack:
DIR ist bei sehr vielen Dateien um WELTEN schneller als GCI! Habs selber probiert. Wenn ich über GCI suche, braucht mein Skript >30 Minuten.
mit DIR ist es oft in ca. 10 Minuten durch!
Wie viele Dateien durchsuchst du denn da?DIR ist bei sehr vielen Dateien um WELTEN schneller als GCI! Habs selber probiert. Wenn ich über GCI suche, braucht mein Skript >30 Minuten.
mit DIR ist es oft in ca. 10 Minuten durch!
Hier ein Post dazu:
http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...">http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...
Danke, werde ich mir bei Gelegenheit zu Gemüte führen!http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...">http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...
LÖSUNG 19.02.2016 um 14:26 Uhr
Zitat von @TlBERlUS:
Zitat von @Kangaroojack:
DIR ist bei sehr vielen Dateien um WELTEN schneller als GCI! Habs selber probiert. Wenn ich über GCI suche, braucht mein Skript >30 Minuten.
mit DIR ist es oft in ca. 10 Minuten durch!
Wie viele Dateien durchsuchst du denn da?DIR ist bei sehr vielen Dateien um WELTEN schneller als GCI! Habs selber probiert. Wenn ich über GCI suche, braucht mein Skript >30 Minuten.
mit DIR ist es oft in ca. 10 Minuten durch!
Hier ein Post dazu:
http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...">http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...
Danke, werde ich mir bei Gelegenheit zu Gemüte führen!http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...">http://www.codeproject.com/Articles/767649/Get-ChildItem-vs-Dir-in-Powe ...
Es werden schon ettliche 100.000de Dateien (evtl. sogar Millionen) sein. habs noch nicht genau gezählt.
Ein Order der letztens befallen war hatte allein schon 123.000 Dateien.
LÖSUNG 19.02.2016 um 14:44 Uhr
s. oben ...
LÖSUNG 22.02.2016, aktualisiert um 17:53 Uhr
Vielen Dank an alle, besonders FLACHKOEPPER!
Also,
ich habe das jetzt so umgesetzt:
1. eine Batch - die dann, wenn nötig ein Powershellskript startet um die Fileliste auszuwerten
(habs nicht hinbekommen die for-Schleife mit einem cmd /c aus der powershell zu starten - kein Plan was das Ding hat, meckert jedenfalls immer rum)
2. Das Powershellskript, was die Auswertung macht und falls nötig eine Mail verschickt. In der Mitte ein Codeblock in dem man ggf. Ausnahmen definieren kann.
Wird also eine Datei mit doppelter Dateiendung sowie heutigem Datum gefunden, schreibt das Teil sie ins Log und schickt sie am Ende als Mail raus.
Das ganze habe ich als Task, jede Stunde, auf den Fileservern rennen.
Leider ist es halt so, dass er natürlich den ganzen Tag jede Stunde ne Mail raushaut, wenn eine entsprechende Datei angelegt wird.
Daher werde ich noch versuchen, die Dateien anhand der Uhrzeit (Stunde) zu filtern, da es bei uns doch recht viele Dateien mit doppelter Dateiendung im System gibt, sodass nur noch einmalig eine Mail rausgeht.
dann würde nur
Also,
ich habe das jetzt so umgesetzt:
1. eine Batch - die dann, wenn nötig ein Powershellskript startet um die Fileliste auszuwerten
(habs nicht hinbekommen die for-Schleife mit einem cmd /c aus der powershell zu starten - kein Plan was das Ding hat, meckert jedenfalls immer rum)
@echo off & setlocal ENABLEDELAYEDEXPANSION
chcp 1252
set "Pfad=X:\xxx\xxx"
set "Output=C:\Skript\VirusCheckDateien.txt"
set "Skript=C:\Skript\VirusCheck.ps1"
if exist "%Output%" (del /Q "%Output%")
for /f "delims=" %%a in ('dir /B /S /A-D "%Pfad%" ^| findstr "\....\....$"') DO set t=%%~ta & if "!t:~0,10!" == "%DATE%" echo %%~ta %%a>>%Output%
if exist "%Output%" ( C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy Bypass -Command "& '%Skript%'" )
2. Das Powershellskript, was die Auswertung macht und falls nötig eine Mail verschickt. In der Mitte ein Codeblock in dem man ggf. Ausnahmen definieren kann.
chcp 1252
$INPUT = "C:\Skript\VirusCheckDateien.txt"
$file = "C:\Skript\VirusCheckVerdacht.txt"
$Datum = Get-Date -format dd.MM.yyyy
$HName = $(Get-WmiObject Win32_Computersystem).name
$pw = Get-Content C:\Skript\MailPW.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential "Benutzername", $pw
$MailEmpfaenger = @("xxx.xxx@xxx.de", "yyyy.yyy@yyy.de")
$Virusverdacht = select-string $INPUT -pattern "$Datum" | ForEach-Object {$_.Line -replace "$Datum.......", ""}
$Virusverdacht | Out-file $file
#foreach ($str in $Virusverdacht)
#{
# if ($str -like '*log.tmp*') {
# SubString ist nicht enthalten; die * sind bedingt erforderlich
# } else {
# $str | out-file $file -append # SubString ist enthalten -> Zeile wird an die Datei angehängt
# if ($str -like '*xml.log*') {
# } else {
# if ($str -like '*zip.xte*') {
# } else {
# if ($str -like '*zip.log*') {
# } else {
# if ($str -like '*dat.log*') {
# } else {
# if ($str -like '*csv.log*') {
# } else {
# $str | out-file $file -append # SubString ist enthalten -> Zeile wird an die Datei angehängt
# }
# }
# }
# }
# }
# }
#}
if (Test-path "$file" ) {
# Test ob File existiert, falls ja dann
Send-MailMessage -SmtpServer mailserver.domaene -to $MailEmpfaenger -from "xxx.xxx@xxx.de" -Subject "!!! Achtung Virusverdacht Laufwerk, Bitte pruefen!!!" -Attachments $file -Priority High -Credential $cred
Remove-Item $file
Remove-Item $INPUT
} else {
# Test ob File existiert, falls nein dann
}
Wird also eine Datei mit doppelter Dateiendung sowie heutigem Datum gefunden, schreibt das Teil sie ins Log und schickt sie am Ende als Mail raus.
Das ganze habe ich als Task, jede Stunde, auf den Fileservern rennen.
Leider ist es halt so, dass er natürlich den ganzen Tag jede Stunde ne Mail raushaut, wenn eine entsprechende Datei angelegt wird.
Daher werde ich noch versuchen, die Dateien anhand der Uhrzeit (Stunde) zu filtern, da es bei uns doch recht viele Dateien mit doppelter Dateiendung im System gibt, sodass nur noch einmalig eine Mail rausgeht.
dann würde nur
LÖSUNG 22.02.2016, aktualisiert um 20:32 Uhr
Hallo @Kangaroojack
Oder man macht das intelligent mit einem Filesystemwatcher der automatisch sofort anspringt wenn eine verdächtige Datei entdeckt wird (Zeile 18 zum Verschicken der Mail ist auskommentiert da die Parameter erst angepasst werden müssen). Zur Demo gibt das Skript bei Erstellung einer verdächtigen Datei dies auf der Konsole aus.
Grüße Uwe
Oder man macht das intelligent mit einem Filesystemwatcher der automatisch sofort anspringt wenn eine verdächtige Datei entdeckt wird (Zeile 18 zum Verschicken der Mail ist auskommentiert da die Parameter erst angepasst werden müssen). Zur Demo gibt das Skript bei Erstellung einer verdächtigen Datei dies auf der Konsole aus.
# Ordner der zu überwachen ist (inkl. Unterordner)
$folder = 'C:\Ordner'
$filter = '*.*'
$trigger = '\.(aaa|abc|ccc|ecc|exx|vvv|yxz|zzz|xxx|ttt|micro|encrypted|locky)$|decipher|install_tor|restore_file|want your files back\..*|confirmation\.key|enc_files\.txt|last_chance\.txt|recovery_file\.txt|recovery_key\.txt|help_your_files.*\..*|help_restore.*\..*|HELP_TO_DECRYPT.*\..*|HELP_TO_SAVE.*\..*|HELP_DECRYPT.*\..*|HOW_DECRYPT.*\..*|how_to_recover.*\..*|DecryptAllFiles.*\.txt|DECRYPT_INSTRUCTION.*\..*|recover_instructions.*|\..*yC$'
if(Get-EventSubscriber CryptoCreated -EA SilentlyContinue){Unregister-Event CryptoCreated; Unregister-Event CryptoRenamed}
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $true;NotifyFilter = [IO.NotifyFilters]'LastWrite,Filename'}
$action = {
$name = $Event.SourceEventArgs.Name
$fullpath = $Event.SourceEventArgs.FullPath
$timeStamp = $Event.TimeGenerated
write-host ($event.SourceEventArgs | fl * | out-string)
if ($name -match $event.MessageData){
# Treffer benachrichtige User ...
$body = "Verdächtige Datei mit den Pfad '$fullpath' wurde um '$($timeStamp.toString('G'))' $(if ($event.SourceEventArgs.Changetype -eq 'Renamed'){'umbenannt'}else{'erstellt'})."
write-host $body -F Yellow
# Send-MailMessage -From "user@domain.de" -to "empfaenger@domain.de" -Subject "Verdächtige Datei entdeckt" -body $body -SmtpServer smtp.domain.de -Credential (New-Object PSCredential("USERNAME",(ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force))) -UseSSL
}
}
Register-ObjectEvent $fsw Created -SourceIdentifier CryptoCreated -Action $action -MessageData $trigger | Out-Null
Register-ObjectEvent $fsw Renamed -SourceIdentifier CryptoRenamed -Action $action -MessageData $trigger | Out-Null
write-host "Überwache Verzeichnis '$folder' auf neue verdächige Dateien ..." -ForegroundColor Green
while($true){sleep(1)}
LÖSUNG 22.02.2016 um 20:44 Uhr
Hallo Uwe, danke fürs posten!
Über den Begriff "filesystemwatcher" bin ich gestern in einem Powershell-Buch gestolpert, habs aber nicht weiter verfolgt.
Klingt interessant.
Aber ich stelle mir das ganze ziemlich Ressourcenhungrig vor, wenn das Ding ne Ordnerstruktrur von ettlichen 100.000 Dateien überwachen soll?
Hast du das Skript bei Dir/Euch am Start?
Gruß
Michael
Über den Begriff "filesystemwatcher" bin ich gestern in einem Powershell-Buch gestolpert, habs aber nicht weiter verfolgt.
Klingt interessant.
Aber ich stelle mir das ganze ziemlich Ressourcenhungrig vor, wenn das Ding ne Ordnerstruktrur von ettlichen 100.000 Dateien überwachen soll?
Hast du das Skript bei Dir/Euch am Start?
Gruß
Michael
LÖSUNG 23.02.2016, aktualisiert um 00:20 Uhr
Zitat von @Kangaroojack:
Klingt interessant.
Aber ich stelle mir das ganze ziemlich Ressourcenhungrig vor, wenn das Ding ne Ordnerstruktrur von ettlichen 100.000 Dateien überwachen soll?
Nein ist es nicht, das ist ja der Vorteil Windows klinkt sich in den Dateisystemtreiber ein und überwacht nur bestimmte Teile beim Platten-Zugriff die nötig sind, das kann man mit den Notify-Filtern optimieren.Klingt interessant.
Aber ich stelle mir das ganze ziemlich Ressourcenhungrig vor, wenn das Ding ne Ordnerstruktrur von ettlichen 100.000 Dateien überwachen soll?
Hast du das Skript bei Dir/Euch am Start?
Das Skript hier nicht aber diverse andere Skripte nach dem selben Schema, wovon es hier von mir noch einige weitere gibt.LÖSUNG 23.02.2016, aktualisiert um 12:02 Uhr
Btw. gibt es für FileServer heutzutage von Windows Out-of-the-Box schon eine Überwachungsfunktion von Freigaben:
https://www.frankysweb.de/windows-fileserver-vor-ransomware-crypto-locke ...
https://www.frankysweb.de/windows-fileserver-vor-ransomware-schuetzen-up ...
https://www.frankysweb.de/windows-fileserver-vor-ransomware-crypto-locke ...
https://www.frankysweb.de/windows-fileserver-vor-ransomware-schuetzen-up ...
LÖSUNG 23.02.2016 um 21:45 Uhr
Man hat einfach viel zu wenig Zeit sich mit all dem in Ruhe zu befassen ;)
Klasse, vielen Dank für die Info. Werde ich mir auf jeden Fall anschauen!
Klasse, vielen Dank für die Info. Werde ich mir auf jeden Fall anschauen!
LÖSUNG 02.03.2016 um 16:40 Uhr
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.