Guest User

Ticket queue script

a guest
Jun 6th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Write-TicketCreation {
  2.     param (
  3.         [int]$StepNumber,
  4.         [string]$Message
  5.     )
  6.  
  7.     Write-Progress -Activity 'Ticket status' -Status $Message -PercentComplete (($StepNumber / 3) * 100)
  8. }
  9.  
  10. $script:steps = ([System.Management.Automation.PsParser]::Tokenize((gc "$PSScriptRoot\$($MyInvocation.MyCommand.Name)"), [ref]$null) | where { $_.Type -eq 'Command' -and $_.Content -eq 'Write-TicketCreation' }).Count
  11.  
  12. function Write-Shutdown {
  13.     param (
  14.         [int]$StepNumber,
  15.         [string]$Message
  16.     )
  17.  
  18.     Write-Progress -Activity 'System shutdown' -Status $Message -PercentComplete (($StepNumber / 3) * 100)
  19. }
  20.  
  21. $script:steps = ([System.Management.Automation.PsParser]::Tokenize((gc "$PSScriptRoot\$($MyInvocation.MyCommand.Name)"), [ref]$null) | where { $_.Type -eq 'Command' -and $_.Content -eq 'Write-Shutdown' }).Count
  22.  
  23. $Count = 1
  24.  
  25. Do {
  26.  
  27.     $stepCounter = 0
  28.     Clear
  29.    
  30.     Write-Host ""
  31.     Write-Host "Press [ENTER] to generate ticket"
  32.     Write-Host ""
  33.     Write-Host "Press [C] to close script"
  34.     $Key = $Host.UI.RawUI.ReadKey()
  35.  
  36.     Switch ($Key.Character) {
  37.    
  38.         Default {
  39.            
  40.             Clear
  41.             $Number = $Count.ToString("000")
  42.            
  43.             Write-TicketCreation -Message "Generating ticket: Your number is $Number" -StepNumber ($stepCounter++)
  44.             Start-Sleep -Seconds 2
  45.            
  46.             $Date = (Get-Date).ToString("dd.MM.yyyy")
  47.             $Time = (Get-Date).ToString("HH:mm:ss")
  48.            
  49.             New-Item -Path $PSScriptRoot -Name "Ticket-$Number.txt" -ItemType "File" | Out-Null
  50.            
  51.             Write-TicketCreation -Message "Printing ticket: $Date $Time $Number" -StepNumber ($stepCounter++)
  52.             Start-Sleep -Seconds 2
  53.            
  54.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "YOUR TICKET:"
  55.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
  56.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "$Date"
  57.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "$Time"
  58.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
  59.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "You are number: $Number in the queue.."
  60.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
  61.             Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "We appreciate your patience!"
  62.            
  63.             Start-Process -FilePath "$PSScriptRoot\Ticket-$Number.txt" -Verb Print -PassThru | % { Sleep 10; $_ } | Kill
  64.            
  65.             Write-TicketCreation -Message "Finishing up process! Deleting file: $PSScriptRoot\Ticket-$Number.txt" -StepNumber ($stepCounter++)
  66.             Start-Sleep -Seconds 2
  67.            
  68.             Remove-Item "$PSScriptRoot\Ticket-$Number.txt" -Force
  69.            
  70.             Write-TicketCreation -Message "Ticket creation completed!" -StepNumber ($stepCounter++)
  71.             Start-Sleep -Seconds 2
  72.             Write-Progress -Activity 'Ticket status' -Status "Completed!" -Completed
  73.            
  74.             $Count++
  75.            
  76.         }
  77.        
  78.         C {
  79.        
  80.             Clear
  81.             Write-Shutdown -Message "Shutting down" -StepNumber ($stepCounter++)
  82.             Start-Sleep -Milliseconds 250
  83.             Write-Shutdown -Message "Shutting down." -StepNumber ($stepCounter++)
  84.             Start-Sleep -Milliseconds 250
  85.             Write-Shutdown -Message "Shutting down.." -StepNumber ($stepCounter++)
  86.             Start-Sleep -Milliseconds 250
  87.             Write-Shutdown -Message "Shutting down..." -StepNumber ($stepCounter++)
  88.             Start-Sleep -Milliseconds 250
  89.             Write-Progress -Activity 'System shutdown' -Status "Shutting down..." -Completed
  90.             Start-Sleep -Seconds 1
  91.             Exit
  92.            
  93.         }
  94.    
  95.     }
  96.  
  97. } Until ($Key.Character -eq 'C')
Add Comment
Please, Sign In to add comment