wait 20min for bsod report to be generated
don't download BlueScreenView, expect it move all of ticket creation into try block
This commit is contained in:
@@ -1,35 +1,29 @@
|
|||||||
$BlueScreenView = $Global:MSPToolsDirectory + '\BlueScreenView.exe'
|
If ( Is64Bit ) { $BlueScreenView = $Global:MSPToolsDirectory + '\BlueScreenView-x64.exe' } Else { $BlueScreenView = $Global:MSPToolsDirectory + '\BlueScreenView-x86.exe' }
|
||||||
$BSODReport = $Global:OutputDirectory + '\BSODReport.txt'
|
$BSODReport = $Global:OutputDirectory + '\BSODReport.txt'
|
||||||
|
|
||||||
# Remove existing BSOD report
|
# Remove existing BSOD report
|
||||||
If ( Test-Path $BSODReport ) { Remove-Item $BSODReport -Force -ErrorAction SilentlyContinue }
|
If ( Test-Path $BSODReport ) { Remove-Item $BSODReport -Force -ErrorAction SilentlyContinue }
|
||||||
|
|
||||||
# Download BlueScreenView
|
|
||||||
If ( -not (Test-Path $BlueScreenView) ) {
|
|
||||||
If ( Is64Bit ) { $URL = 'https://www.emberkom.com/tools/BlueScreenView-x64.exe' } Else { $URL = 'https://www.emberkom.com/tools/BlueScreenView-x86.exe' }
|
|
||||||
Download-File -URL $URL -File $BlueScreenView
|
|
||||||
If ( -not (Test-Path $BlueScreenView) ) { Return }
|
|
||||||
}
|
|
||||||
|
|
||||||
# Run BlueScreenView
|
# Run BlueScreenView
|
||||||
|
If ( !(Test-Path $BlueScreenView) ) { Write-Error "File does not exist: ${BlueScreenView}" ; Return }
|
||||||
Start-Process $BlueScreenView -ArgumentList "/stext $BSODReport /sort ~1" -Wait
|
Start-Process $BlueScreenView -ArgumentList "/stext $BSODReport /sort ~1" -Wait
|
||||||
|
|
||||||
# Wait for BSOD report
|
# Wait for BSOD report
|
||||||
For ($i = 0; $i -lt 300; $i++) {
|
For ($i = 0; $i -lt 1200; $i++) {
|
||||||
If ( Test-Path $BSODReport ) { Break }
|
If ( Test-Path $BSODReport ) { Break }
|
||||||
Start-Sleep -Seconds 1
|
Start-Sleep -Seconds 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Exit if the BSOD report was not created
|
# Exit if the BSOD report was not created
|
||||||
If ( -not (Test-Path $BSODReport) ) { Write-Output "BSOD report was not found: ${BSODReport}" ; Return }
|
If ( !(Test-Path $BSODReport) ) { Write-Output "BSOD report was not found: ${BSODReport}" ; Return }
|
||||||
|
|
||||||
# Create ticket
|
# Create ticket
|
||||||
|
Try {
|
||||||
Import-Module $env:SyncroModule -WarningAction SilentlyContinue
|
Import-Module $env:SyncroModule -WarningAction SilentlyContinue
|
||||||
$BSODReportContent = Get-Content -Path $BSODReport
|
$BSODReportContent = Get-Content -Path $BSODReport
|
||||||
$TicketSubject = 'System Crash on ' + $Env:COMPUTERNAME
|
$TicketSubject = 'System Crash on ' + $Env:COMPUTERNAME
|
||||||
$TicketIssueType = 'Remote Support'
|
$TicketIssueType = 'Remote Support'
|
||||||
$TicketStatus = 'New'
|
$TicketStatus = 'New'
|
||||||
Try {
|
|
||||||
$TicketComment = $BSODReportContent -join "`n"
|
$TicketComment = $BSODReportContent -join "`n"
|
||||||
$TicketData = Create-Syncro-Ticket -Subject $TicketSubject -IssueType $TicketIssueType -Status $TicketStatus
|
$TicketData = Create-Syncro-Ticket -Subject $TicketSubject -IssueType $TicketIssueType -Status $TicketStatus
|
||||||
$TicketID = $TicketData.ticket.id
|
$TicketID = $TicketData.ticket.id
|
||||||
|
|||||||
Reference in New Issue
Block a user