From 3f45c70b3ad8a67d46770dd79b4af9d04f8c03f6 Mon Sep 17 00:00:00 2001 From: David Yoder Date: Fri, 14 Jun 2024 12:46:02 -0400 Subject: [PATCH] initial commit --- Create-NewTicketFromBSODAnalysis.ps1 | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Create-NewTicketFromBSODAnalysis.ps1 diff --git a/Create-NewTicketFromBSODAnalysis.ps1 b/Create-NewTicketFromBSODAnalysis.ps1 new file mode 100644 index 0000000..839c3d6 --- /dev/null +++ b/Create-NewTicketFromBSODAnalysis.ps1 @@ -0,0 +1,35 @@ +$BlueScreenView = $Global:MSPToolsDirectory + '\BlueScreenView.exe' +$BSODReport = $Global:OutputDirectory + '\BSODReport.txt' + +# Remove existing BSOD report +If ( Test-Path $BSODReport ) { Remove-Item $BSODReport -Force -ErrorAction SilentlyContinue } + +# Download 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) ) { Write-Error "File does not exist: ${BlueScreenView}" ; Return } + +# Run BlueScreenView +Start-Process $BlueScreenView -ArgumentList "/stext $BSODReport /sort ~1" -Wait + +# Wait for BSOD report +For ($i = 0; $i -lt 300; $i++) { + If ( Test-Path $BSODReport ) { Break } + Start-Sleep -Seconds 1 +} + +# Exit if the BSOD report was not created +If ( -not (Test-Path $BSODReport) ) { Write-Output "BSOD report was not found: ${BSODReport}" ; Return } + +# Create ticket +Import-Module $env:SyncroModule -WarningAction SilentlyContinue +$TicketComment = Get-Content $BSODReport +$TicketSubject = 'BSOD on ' + $Env:COMPUTERNAME +$TicketIssueType = 'Remote Support' +$TicketStatus = 'New' +Try { + $TicketData = Create-Syncro-Ticket -Subject $TicketSubject -IssueType $TicketIssueType -Status $TicketStatus + Create-Syncro-Ticket-Comment -TicketIdOrNumber $TicketData.ticket.id -Subject $TicketSubject -Body $TicketComment -Hidden $true -DoNotEmail $true +} +Catch { Write-Error "Error creating ticket" ; Return } +Write-Output "Syncro ticket created: ${TicketData.ticket.id}" \ No newline at end of file