Hallo,
ich habe ein Powershell skript erstellt, dass aber leider immer mal wieder abstürzt nach einem gewissen Zeitraum. Der Zeitraum des Abbruchs ist unterschiedlich. Manchmal nach 200 gefunden Dateien ein anderes mal nach 7000 oder mal 10 000. Mein Fileshare hat mehrere 100 0000 Dokumente die durchsucht werden sollen.
Hab ich hier ein Problem mit meinem Skript? Hier ein Auszu aus meinem Code. Ich lade alle Infos wie UNC-Pfad / Userzugang und Suchwörter über eine Config:
#Loggingfunktion $Logfile = "C:\Test\LOG_" + (Get-Date -Format yyyy-MM-dd-HH-mm ) + ".txt" function LogWrite { Param ([string]$logString, [string]$logLevel) $nowDate = Get-Date -ReadCount 0 -format dd.MM.yyyy $nowTime = Get-Date -ReadCount 0 -format HH:mm:ss if ($logLevel -eq "EMPTY") { Add-content $logfile -ReadCount 0 -value "$FN $TrefferLine" Write-Host "$logString" } else { Add-content $logfile -value "[$logLevel][$nowDate][$nowTime] - $FN $TrefferLine" Write-Host "[$logLevel][$nowDate][$nowTime] - $FN $TrefferLine" } } #<--------------------------------------------------------------------------------------------------------------------------------------------------------------------> #Add Content Funktion $fileName = "C:\Test\FileContent_" + (Get-Date -Format yyyy-MM-dd-HH-mm ) + ".csv" set-content $fileName -Value "Dateipfad,Suchwörter" function ContentWrite { Param ([string]$contString, [string]$contLevel) if ($contLevel -eq "EMPTY") { Add-content $fileName -ReadCount 0 -value "$FN $TrefferLine" Write-Host "$contString" -foregroundcolor green } else { Add-content $fileName -value " $FN $TrefferLine" Write-Host "[$logLevel][$nowDate][$nowTime] - $FN $TrefferLine" -foregroundcolor green } } # Aufbau der UNC Verbindungen foreach ( $myDrive in $config.configuration.drives.path){ Write-Host 'Aufbau der UNC Verbindung' zu $myDrive New-PSDrive -Name w -PSProvider FileSystem -Root $myDrive -Credential $Cred #Angabe des Dateinamens Write-Host 'Erstelle Dateinamen' zu $fileName -foregroundcolor green # Output der Dateien, die die vorgegebenen Suchwörtern beinhalten Write-Host 'Suche nach Dateien mit Dateinamen' -foregroundcolor green gci $myDrive -recurse -include *.vbs, *.xml, *.txt, *.cfg, *.ini, *.pwd, *.bat, *.cmd | ForEach-Object { $FN = $_.FullName + ", " $Treffer = @() foreach ( $word in $config.configuration.words.word){ Get-Content $_ -ReadCount 0 | Select-String -pattern $Word | ForEach-Object { $Treffer += $_.matches | Select-Object -ExpandProperty value } } $Treffer = $Treffer |Sort-Object -Unique $TrefferLine = $Treffer -join " " if ($Treffer.Count -gt 0) {"$FN $TrefferLine" } ContentWrite $FN $TrefferLine LogWrite $FN $TrefferLine } Remove-PSDrive -Name w }