94 lines
3.9 KiB
PowerShell
94 lines
3.9 KiB
PowerShell
. .\LogbookScan.ConvertFromGzip.ps1
|
|
|
|
# Edit me
|
|
# Types: RVM, NTX, DC
|
|
$type = 'NTX'
|
|
|
|
# Also edit me
|
|
$folders = @()
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\14"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\15"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\16"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\17"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\18"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\19"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\20"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\21"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\22"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\23"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\24"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\25"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\26"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\27"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\28"
|
|
$folders += Get-Item "\\rejk-p-int003\E-Drive\FTP Repository\EW\LogBooks\$type\2017\08\29"
|
|
|
|
|
|
# Don't edit me unless you know what you're doing
|
|
|
|
$i = 1
|
|
foreach($folder in $folders) {
|
|
Write-Progress -Activity "Folders $($folder.FullName)" -Status "$i of $($folders.Count)" -Id 1 -PercentComplete (100 / $folders.Count * $i)
|
|
|
|
# Get all files in current folder
|
|
$items = Get-ChildItem -Path $folder.FullName
|
|
|
|
$y = 1
|
|
$result = foreach($item in $items) {
|
|
try {
|
|
Write-Progress -Activity 'Files' -Status "$y of $($items.Count)" -ParentId 1 -PercentComplete (100 / $items.Count * $y)
|
|
|
|
# Unpack gzip and get logbook file
|
|
$file = $item.FullName | ConvertFrom-Gzip
|
|
|
|
|
|
if($type -eq 'RVM') {
|
|
$file | Select-String -Pattern 'Ticket processing operation error;.*?;29'
|
|
}
|
|
elseif($type -eq 'NTX') {
|
|
$file | Select-String -Pattern 'Error type : 120'
|
|
}
|
|
elseif($type -eq 'DC') {
|
|
throw "Type $type not implemented"
|
|
}
|
|
else {
|
|
Write-Warning "Unknown type $type"
|
|
break
|
|
}
|
|
|
|
$file = $null
|
|
$y++
|
|
}
|
|
catch {
|
|
Write-Warning "Failed to process $($item.FullName): $_"
|
|
}
|
|
}
|
|
|
|
$result | Out-File -Append -FilePath "errortype29$type.csv"
|
|
|
|
$result = $null
|
|
|
|
[System.GC]::Collect()
|
|
"Last folder operated on: $i : $($folder.FullName)" | Out-File -FilePath "errortype29$type.count" -Append
|
|
|
|
$i++
|
|
}
|
|
|
|
|
|
|
|
if($type -eq 'NTX') {
|
|
$csv = Import-Csv .\errortype29NTX.csv -Delimiter ';' -Header 'Date','Time','DeviceType','DeviceId','Unknown1','Unknown2','ErrorDescription','TransactionType','MediaSerialNumber','ErrorType'
|
|
$csv | where { $_.ErrorType -eq 'Error type : 120' } | % { ($_.MediaserialNumber -split ' : ')[1] } | sort -Unique > ntx.txt
|
|
|
|
#SELECT omi.CardEngravedID FROM trk.ObjMediaInstance omi with(nolock)
|
|
#WHERE omi.MediaSerialNumberID IN ( ... )
|
|
}
|
|
elseif($type -eq 'RVM') {
|
|
$csv = Import-Csv .\errortype29RVM.csv -Delimiter ';' -Header 'Date','Time','DeviceType','DeviceId','Unknown1','Unknown2','ErrorDescription','MediaSerialNumber','ErrorType'
|
|
$csv | where { $_.ErrorType -eq '120' } | % { $_.MediaSerialNumber } | sort -Unique | % { $_ -replace '308430','' } | % { $_ -replace ' ','' } > rvm.txt
|
|
}
|
|
|
|
|
|
|
|
|