@@ -110,70 +110,78 @@ function Get-EventLogs
110110 Write-Host " $server " - ForegroundColor Green
111111 foreach ($log in $logs )
112112 {
113- Time- Stamp
114- Write-Host " Exporting log: " - NoNewline
115- Write-Host $log - ForegroundColor Magenta - NoNewline
116- Write-Host " "
117- if ($server -notmatch $env: COMPUTERNAME )
113+ $availableLogs = Get-EventLog * | Select Log - ExpandProperty Log
114+ if ($log -notin $availableLogs )
118115 {
119- try
116+ continue
117+ }
118+ else
119+ {
120+ Time- Stamp
121+ Write-Host " Exporting log: " - NoNewline
122+ Write-Host $log - ForegroundColor Magenta - NoNewline
123+ Write-Host " "
124+ if ($server -notmatch $env: COMPUTERNAME )
125+ {
126+ try
127+ {
128+ if ($log -like ' */*' )
129+ { $logname = $log.split (' /' )[0 ] }
130+ else { $logname = $log }
131+ Invoke-Command - ComputerName $server {
132+ $fileCheck = test-path " c:\windows\Temp\$using :server `.$using :logname .evtx"
133+ if ($fileCheck -eq $true )
134+ {
135+ Remove-Item " c:\windows\Temp\$using :server `.$using :logname .evtx" - Force
136+ }
137+ wevtutil epl $using :log " c:\windows\Temp\$using :server .$using :logname .evtx"
138+ wevtutil al " c:\windows\Temp\$using :server `.$using :logname .evtx"
139+ } - ErrorAction Stop
140+ $fileCheck2 = test-path " $OutputPath \$server " - ErrorAction Stop
141+ if (! ($fileCheck2 ))
142+ {
143+ New-Item - ItemType directory - Path " $OutputPath " - Name " $server " - ErrorAction Stop | Out-Null
144+ New-Item - ItemType directory - Path " $OutputPath \$server " - Name " localemetadata" - ErrorAction Stop | Out-Null
145+ }
146+ Move-Item " \\$server \c$\windows\temp\$server .$logname .evtx" " $OutputPath \$server " - force - ErrorAction Stop
147+ # "Get-ChildItem \\$server\c$\windows\temp\localemetadata\"
148+ Get-ChildItem " \\$server \c$\windows\temp\localemetadata\" - ErrorAction Stop |
149+ where { $_.name -like " *$server *" -and $_.name -like " *$logname *" } |
150+ Move-Item - Destination " $OutputPath \$server \localemetadata\" - force - ErrorAction Stop
151+ }
152+ catch
153+ {
154+ Time- Stamp
155+ Write-Warning " $_ "
156+ break
157+ }
158+
159+ }
160+ else
120161 {
121162 if ($log -like ' */*' )
122163 { $logname = $log.split (' /' )[0 ] }
123164 else { $logname = $log }
124- Invoke-Command - ComputerName $server {
125- $fileCheck = test-path " c:\windows\Temp\$using :server `.$using :logname .evtx"
126- if ($fileCheck -eq $true )
127- {
128- Remove-Item " c:\windows\Temp\$using :server `.$using :logname .evtx" - Force
129- }
130- wevtutil epl $using :log " c:\windows\Temp\$using :server .$using :logname .evtx"
131- wevtutil al " c:\windows\Temp\$using :server `.$using :logname .evtx"
132- } - ErrorAction Stop
133- $fileCheck2 = test-path " $OutputPath \$server " - ErrorAction Stop
165+ $fileCheck = test-path " c:\windows\Temp\$server .$logname .evtx"
166+ if ($fileCheck -eq $true )
167+ {
168+ Remove-Item " c:\windows\Temp\$server .$logname .evtx" - Force | Out-Null
169+ }
170+ wevtutil epl $log " c:\windows\Temp\$server .$logname .evtx"
171+ wevtutil al " c:\windows\Temp\$server .$logname .evtx"
172+
173+ $fileCheck2 = test-path " $OutputPath \$server "
134174 if (! ($fileCheck2 ))
135175 {
136- New-Item - ItemType directory - Path " $OutputPath " - Name " $server " - ErrorAction Stop | Out-Null
137- New-Item - ItemType directory - Path " $OutputPath \$server " - Name " localemetadata" - ErrorAction Stop | Out-Null
176+ New-Item - ItemType directory - Path " $OutputPath " - Name " $server " | Out-Null
177+ New-Item - ItemType directory - Path " $OutputPath \$server " - Name " localemetadata" | Out-Null
138178 }
139- Move-Item " \\ $server \c$\ windows\temp\$server .$logname .evtx" " $OutputPath \$server " - force - ErrorAction Stop
179+ Move-Item " C:\ windows\temp\$server .$logname .evtx" " $OutputPath \$server " - force
140180 # "Get-ChildItem \\$server\c$\windows\temp\localemetadata\"
141- Get-ChildItem " \\ $server \c$\ windows\temp\localemetadata\" - ErrorAction Stop |
181+ Get-ChildItem " C:\ windows\temp\localemetadata\" |
142182 where { $_.name -like " *$server *" -and $_.name -like " *$logname *" } |
143- Move-Item - Destination " $OutputPath \$server \localemetadata\" - force - ErrorAction Stop
144- }
145- catch
146- {
147- Time- Stamp
148- Write-Warning " $_ "
149- break
150- }
151-
152- }
153- else
154- {
155- if ($log -like ' */*' )
156- { $logname = $log.split (' /' )[0 ] }
157- else { $logname = $log }
158- $fileCheck = test-path " c:\windows\Temp\$server .$logname .evtx"
159- if ($fileCheck -eq $true )
160- {
161- Remove-Item " c:\windows\Temp\$server .$logname .evtx" - Force | Out-Null
162- }
163- wevtutil epl $log " c:\windows\Temp\$server .$logname .evtx"
164- wevtutil al " c:\windows\Temp\$server .$logname .evtx"
165-
166- $fileCheck2 = test-path " $OutputPath \$server "
167- if (! ($fileCheck2 ))
168- {
169- New-Item - ItemType directory - Path " $OutputPath " - Name " $server " | Out-Null
170- New-Item - ItemType directory - Path " $OutputPath \$server " - Name " localemetadata" | Out-Null
183+ Move-Item - Destination " $OutputPath \$server \localemetadata\" - force
171184 }
172- Move-Item " C:\windows\temp\$server .$logname .evtx" " $OutputPath \$server " - force
173- # "Get-ChildItem \\$server\c$\windows\temp\localemetadata\"
174- Get-ChildItem " C:\windows\temp\localemetadata\" |
175- where { $_.name -like " *$server *" -and $_.name -like " *$logname *" } |
176- Move-Item - Destination " $OutputPath \$server \localemetadata\" - force
177185 }
178186 }
179187
0 commit comments