adde extractor
This commit is contained in:
parent
21742e5955
commit
8f8da682d2
97
Extractor.ps1
Normal file
97
Extractor.ps1
Normal file
@ -0,0 +1,97 @@
|
||||
enum State {
|
||||
Started
|
||||
Finished
|
||||
Failed
|
||||
}
|
||||
|
||||
function GetVMName {
|
||||
param (
|
||||
[string]$Rest
|
||||
)
|
||||
$tokens = $Rest -split "'"
|
||||
return $tokens[1]
|
||||
}
|
||||
|
||||
function ConvertDate {
|
||||
param (
|
||||
[string]$DateString
|
||||
)
|
||||
return [DateTime]$DateString
|
||||
}
|
||||
|
||||
function DeterminState {
|
||||
param (
|
||||
[String]$Rest
|
||||
)
|
||||
if($Rest.IndexOf("Erfolgreiche") -cge 0){
|
||||
return 'Finished'
|
||||
} elseif ($Rest.IndexOf("gestartet") -cge 0) {
|
||||
return 'Started'
|
||||
} else {
|
||||
return 'Failed'
|
||||
}
|
||||
}
|
||||
|
||||
function ProduceHashMap {
|
||||
param (
|
||||
$Elements
|
||||
)
|
||||
$HashTable =@{}
|
||||
foreach ($elem in $Elements){
|
||||
$indexOfFirst = $elem.IndexOf(" ")
|
||||
if($indexOfFirst -le 0){
|
||||
continue
|
||||
}
|
||||
$date = $elem.SubString(0,$elem.IndexOf(" ",($indexOfFirst + 1)))
|
||||
$timeStamp = ConvertDate($date)
|
||||
$rest = $elem.Substring($elem.IndexOf(" ",($indexOfFirst + 1))+1)
|
||||
$vmName = GetVMName($rest)
|
||||
$backUpState = DeterminState($rest)
|
||||
|
||||
if($HashTable.ContainsKey($vmName)){
|
||||
$array = $HashTable[$vmName]
|
||||
$array += New-Object psobject -Property @{
|
||||
state = $backUpState
|
||||
ts = $timeStamp
|
||||
}
|
||||
$HashTable[$vmName]=$array
|
||||
} else{
|
||||
$HashTable += @{$vmName=@(New-Object psobject -Property @{
|
||||
state = $backUpState
|
||||
ts = $timeStamp
|
||||
})}
|
||||
}
|
||||
}
|
||||
$HashTable
|
||||
}
|
||||
|
||||
$lines = Get-Content -Path .\log.txt | ForEach-Object {$_.SubString($_.IndexOf(":")+1)}
|
||||
$elems = $lines | Out-String -Stream | Select-String -Pattern "VMware-Maschine" | Out-String -Stream
|
||||
ProduceHashMap($elems)
|
||||
<#$HashTable =@{}
|
||||
foreach ($elem in $Elems){
|
||||
$indexOfFirst = $elem.IndexOf(" ")
|
||||
if($indexOfFirst -le 0){
|
||||
continue
|
||||
}
|
||||
$date = $elem.SubString(0,$elem.IndexOf(" ",($indexOfFirst + 1)))
|
||||
$timeStamp = ConvertDate($date)
|
||||
$rest = $elem.Substring($elem.IndexOf(" ",($indexOfFirst + 1))+1)
|
||||
$vmName = GetVMName($rest)
|
||||
$backUpState = DeterminState($rest)
|
||||
|
||||
if($HashTable.ContainsKey($vmName)){
|
||||
$array = $HashTable[$vmName]
|
||||
$array += New-Object psobject -Property @{
|
||||
state = $backUpState
|
||||
ts = $timeStamp
|
||||
}
|
||||
$HashTable[$vmName]=$array
|
||||
} else{
|
||||
$HashTable += @{$vmName=@(New-Object psobject -Property @{
|
||||
state = $backUpState
|
||||
ts = $timeStamp
|
||||
})}
|
||||
}
|
||||
}
|
||||
$HashTable#>
|
Loading…
Reference in New Issue
Block a user