Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Write-TicketCreation {
- param (
- [int]$StepNumber,
- [string]$Message
- )
- Write-Progress -Activity 'Ticket status' -Status $Message -PercentComplete (($StepNumber / 3) * 100)
- }
- $script:steps = ([System.Management.Automation.PsParser]::Tokenize((gc "$PSScriptRoot\$($MyInvocation.MyCommand.Name)"), [ref]$null) | where { $_.Type -eq 'Command' -and $_.Content -eq 'Write-TicketCreation' }).Count
- function Write-Shutdown {
- param (
- [int]$StepNumber,
- [string]$Message
- )
- Write-Progress -Activity 'System shutdown' -Status $Message -PercentComplete (($StepNumber / 3) * 100)
- }
- $script:steps = ([System.Management.Automation.PsParser]::Tokenize((gc "$PSScriptRoot\$($MyInvocation.MyCommand.Name)"), [ref]$null) | where { $_.Type -eq 'Command' -and $_.Content -eq 'Write-Shutdown' }).Count
- $Count = 1
- Do {
- $stepCounter = 0
- Clear
- Write-Host ""
- Write-Host "Press [ENTER] to generate ticket"
- Write-Host ""
- Write-Host "Press [C] to close script"
- $Key = $Host.UI.RawUI.ReadKey()
- Switch ($Key.Character) {
- Default {
- Clear
- $Number = $Count.ToString("000")
- Write-TicketCreation -Message "Generating ticket: Your number is $Number" -StepNumber ($stepCounter++)
- Start-Sleep -Seconds 2
- $Date = (Get-Date).ToString("dd.MM.yyyy")
- $Time = (Get-Date).ToString("HH:mm:ss")
- New-Item -Path $PSScriptRoot -Name "Ticket-$Number.txt" -ItemType "File" | Out-Null
- Write-TicketCreation -Message "Printing ticket: $Date $Time $Number" -StepNumber ($stepCounter++)
- Start-Sleep -Seconds 2
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "YOUR TICKET:"
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "$Date"
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "$Time"
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "You are number: $Number in the queue.."
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value ""
- Add-Content -Path "$PSScriptRoot\Ticket-$Number.txt" -Value "We appreciate your patience!"
- Start-Process -FilePath "$PSScriptRoot\Ticket-$Number.txt" -Verb Print -PassThru | % { Sleep 10; $_ } | Kill
- Write-TicketCreation -Message "Finishing up process! Deleting file: $PSScriptRoot\Ticket-$Number.txt" -StepNumber ($stepCounter++)
- Start-Sleep -Seconds 2
- Remove-Item "$PSScriptRoot\Ticket-$Number.txt" -Force
- Write-TicketCreation -Message "Ticket creation completed!" -StepNumber ($stepCounter++)
- Start-Sleep -Seconds 2
- Write-Progress -Activity 'Ticket status' -Status "Completed!" -Completed
- $Count++
- }
- C {
- Clear
- Write-Shutdown -Message "Shutting down" -StepNumber ($stepCounter++)
- Start-Sleep -Milliseconds 250
- Write-Shutdown -Message "Shutting down." -StepNumber ($stepCounter++)
- Start-Sleep -Milliseconds 250
- Write-Shutdown -Message "Shutting down.." -StepNumber ($stepCounter++)
- Start-Sleep -Milliseconds 250
- Write-Shutdown -Message "Shutting down..." -StepNumber ($stepCounter++)
- Start-Sleep -Milliseconds 250
- Write-Progress -Activity 'System shutdown' -Status "Shutting down..." -Completed
- Start-Sleep -Seconds 1
- Exit
- }
- }
- } Until ($Key.Character -eq 'C')
Add Comment
Please, Sign In to add comment