diff --git a/Scripts/MD5.ps1 b/Scripts/MD5.ps1 index f81ad30a..e1df824a 100755 --- a/Scripts/MD5.ps1 +++ b/Scripts/MD5.ps1 @@ -1,6 +1,6 @@ #!/snap/bin/powershell -# Syntax: ./MD5.ps1 +# Syntax: ./MD5.ps1 [] # Description: prints the MD5 checksum of the given file # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell @@ -8,7 +8,7 @@ param([string]$File) if ($File -eq "" ) { - $File = read-host "Enter file: " + $File = read-host "Enter file" } try { diff --git a/Scripts/SHA1.ps1 b/Scripts/SHA1.ps1 index a9eb5127..03ba9137 100755 --- a/Scripts/SHA1.ps1 +++ b/Scripts/SHA1.ps1 @@ -1,6 +1,6 @@ #!/snap/bin/powershell -# Syntax: ./SHA1.ps1 +# Syntax: ./SHA1.ps1 [] # Description: prints the SHA1 checksum of the given file # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell @@ -8,7 +8,7 @@ param([string]$File) if ($File -eq "" ) { - $File = read-host "Enter file: " + $File = read-host "Enter file" } try { diff --git a/Scripts/SHA256.ps1 b/Scripts/SHA256.ps1 index 5e4b5b0f..7182916a 100755 --- a/Scripts/SHA256.ps1 +++ b/Scripts/SHA256.ps1 @@ -1,6 +1,6 @@ #!/snap/bin/powershell -# Syntax: ./SHA256.ps1 +# Syntax: ./SHA256.ps1 [] # Description: prints the SHA256 checksum of the given file # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell @@ -8,7 +8,7 @@ param([string]$File) if ($File -eq "" ) { - $File = read-host "Enter file: " + $File = read-host "Enter file" } try { diff --git a/Scripts/crash_dumps.ps1 b/Scripts/crash_dumps.ps1 index b2771957..7c32056b 100755 --- a/Scripts/crash_dumps.ps1 +++ b/Scripts/crash_dumps.ps1 @@ -1,4 +1,4 @@ -#!/snap/bin/powershell +#!/snap/bin/powershell # Syntax: ./crash_dumps.ps1 # Description: enables crash dumps @@ -6,46 +6,46 @@ # Source: github.com/fleschutz/PowerShell # License: CC0 -################################################################## -# # -# Written by: Ryan Waters # -# # -# Program: Get-Dump.ps1 # -# Date: 2-06-2020 # -# Purpose: To set registry keys to gather a WER Usermode Dump # -# and be able to change from a custom, mini, or FULL # -# Dumps for ease of use for customers and others. # -# # -# EULA: Code is free to use for all, and free to distribute # -# I just ask that you leave the credit information and # -# this EULA and Comment Section in tact and do not delete. # -# # -# Bitwise Values: (For reference) # -# # -# 0x00000000 - MiniDumpNormal # -# 0x00000001 - MiniDumpWithDataSegs # -# 0x00000002 - MiniDumpWithFullMemory # -# 0x00000004 - MiniDumpWithHandleData # -# 0x00000008 - MiniDumpFilterMemory # -# 0x00000010 - MiniDumpScanMemory # -# 0x00000020 - MiniDumpWithUnloadedModules # -# 0x00000040 - MiniDumpWithIndirectlyReferenced # -# 0x00000080 - MemoryMiniDumpFilterModulePaths # -# 0x00000100 - MiniDumpWithProcessThreadData # -# 0x00000200 - MiniDumpWithPrivateReadWriteMemory # -# 0x00000400 - MiniDumpWithoutOptionalData # -# 0x00000800 - MiniDumpWithFullMemoryInfo # -# 0x00001000 - MiniDumpWithThreadInfo # -# 0x00002000 - MiniDumpWithCodeSegs # -# 0x00004000 - MiniDumpWithoutAuxiliaryState # -# 0x00008000 - MiniDumpWithFullAuxiliaryState # -# 0x00010000 - MiniDumpWithPrivateWriteCopyMemory # -# 0x00020000 - MiniDumpIgnoreInaccessibleMemory # -# 0x00040000 - MiniDumpWithTokenInformation # -# # -################################################################## - -#Setting Values: +################################################################## +# # +# Written by: Ryan Waters # +# # +# Program: Get-Dump.ps1 # +# Date: 2-06-2020 # +# Purpose: To set registry keys to gather a WER Usermode Dump # +# and be able to change from a custom, mini, or FULL # +# Dumps for ease of use for customers and others. # +# # +# EULA: Code is free to use for all, and free to distribute # +# I just ask that you leave the credit information and # +# this EULA and Comment Section in tact and do not delete. # +# # +# Bitwise Values: (For reference) # +# # +# 0x00000000 - MiniDumpNormal # +# 0x00000001 - MiniDumpWithDataSegs # +# 0x00000002 - MiniDumpWithFullMemory # +# 0x00000004 - MiniDumpWithHandleData # +# 0x00000008 - MiniDumpFilterMemory # +# 0x00000010 - MiniDumpScanMemory # +# 0x00000020 - MiniDumpWithUnloadedModules # +# 0x00000040 - MiniDumpWithIndirectlyReferenced # +# 0x00000080 - MemoryMiniDumpFilterModulePaths # +# 0x00000100 - MiniDumpWithProcessThreadData # +# 0x00000200 - MiniDumpWithPrivateReadWriteMemory # +# 0x00000400 - MiniDumpWithoutOptionalData # +# 0x00000800 - MiniDumpWithFullMemoryInfo # +# 0x00001000 - MiniDumpWithThreadInfo # +# 0x00002000 - MiniDumpWithCodeSegs # +# 0x00004000 - MiniDumpWithoutAuxiliaryState # +# 0x00008000 - MiniDumpWithFullAuxiliaryState # +# 0x00010000 - MiniDumpWithPrivateWriteCopyMemory # +# 0x00020000 - MiniDumpIgnoreInaccessibleMemory # +# 0x00040000 - MiniDumpWithTokenInformation # +# # +################################################################## + +#Setting Values: $MDN = '0' $MDWDS = '1' $MDWFM = '2' @@ -91,27 +91,27 @@ $t = $MDWTOI $0x = "0x" $array = @() - -Clear-host -write-host "Setting up your machine to receive Usermode Dumps via WER." -Start-sleep -s 3 - - -New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Value "%LOCALAPPDATA%\CrashDumps" -PropertyType ExpandString -Force -New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Value "10" -PropertyType DWORD -Force - -clear-host -write-host "What would you like to do?" -write-host "(0) Disable Dumps and restore system to factory." -write-host "(1) Enable System for Full Dumps." -write-host "(2) Enable System for Mini Dumps." -write-host "(3) Enable System for custom dump with options." -$NCD = Read-Host "Enter a number option" - -If ($NCD -eq '3') -{ - - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "0" -PropertyType DWORD -Force + +Clear-host +write-host "Setting up your machine to receive Usermode Dumps via WER." +Start-sleep -s 3 + + +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Value "%LOCALAPPDATA%\CrashDumps" -PropertyType ExpandString -Force +New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Value "10" -PropertyType DWORD -Force + +clear-host +write-host "What would you like to do?" +write-host "(0) Disable Dumps and restore system to factory." +write-host "(1) Enable System for Full Dumps." +write-host "(2) Enable System for Mini Dumps." +write-host "(3) Enable System for custom dump with options." +$NCD = Read-Host "Enter a number option" + +If ($NCD -eq '3') +{ + + New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "0" -PropertyType DWORD -Force Do { clear-host @@ -231,61 +231,61 @@ If ($NCD -eq '3') } While($Option -ne "q") $sum = $array -join '+' - $SumArray = Invoke-Expression $sum - $FinalSum = $0x + $SumArray - - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "CustomDumpFlags" -Value "$FinalSum" -PropertyType DWORD -Force - - write-host " " - write-host "Setting up the system for crash dumps requires a reboot" -} -ElseIf ($NCD -eq '0') -{ - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Force -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Force -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Force -ErrorAction SilentlyContinue - Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "CustomDumpFlags" -Force -ErrorAction SilentlyContinue - write-host " " - $reboot = read-host "Registry reset to factory settings and cleared. It is recommended to restart your machine, would you like to now?" - if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") - { - shutdown -r - } - Else - { - write-host "Please restart the machine for settings to take effect at your convenience." - } -} -ElseIf ($NCD -eq '1') -{ - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "2" -PropertyType DWORD -Force - write-host "The computer has been set up to create a Full Sized Dump and will be located in %LOCALAPPDATA%\CrashDumps." - write-host "The computer must also restart for settings to take effect. Would you like to now? (Y/n)" - if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") - { - shutdown -r - } - Else - { - write-host "Please restart the machine for settings to take effect at your convenience." - } -} -ElseIf ($NCD -eq '2') -{ - New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "1" -PropertyType DWORD -Force - write-host "The computer has been set up to create a Mini Dump and will be located in %LOCALAPPDATA%\CrashDumps." - write-host "The computer must also restart for settings to take effect. Would you like to now? (Y/n)" - if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") - { - shutdown -r - } - Else - { - write-host "Please restart the machine for settings to take effect at your convenience." - } -} -Else -{ - write-host "You did not enter a valid option. Please re-run Get-Dump.ps1" - start-sleep -s 5 + $SumArray = Invoke-Expression $sum + $FinalSum = $0x + $SumArray + + New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "CustomDumpFlags" -Value "$FinalSum" -PropertyType DWORD -Force + + write-host " " + write-host "Setting up the system for crash dumps requires a reboot" +} +ElseIf ($NCD -eq '0') +{ + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Force -ErrorAction SilentlyContinue + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Force -ErrorAction SilentlyContinue + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Force -ErrorAction SilentlyContinue + Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "CustomDumpFlags" -Force -ErrorAction SilentlyContinue + write-host " " + $reboot = read-host "Registry reset to factory settings and cleared. It is recommended to restart your machine, would you like to now?" + if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") + { + shutdown -r + } + Else + { + write-host "Please restart the machine for settings to take effect at your convenience." + } +} +ElseIf ($NCD -eq '1') +{ + New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "2" -PropertyType DWORD -Force + write-host "The computer has been set up to create a Full Sized Dump and will be located in %LOCALAPPDATA%\CrashDumps." + write-host "The computer must also restart for settings to take effect. Would you like to now? (Y/n)" + if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") + { + shutdown -r + } + Else + { + write-host "Please restart the machine for settings to take effect at your convenience." + } +} +ElseIf ($NCD -eq '2') +{ + New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "1" -PropertyType DWORD -Force + write-host "The computer has been set up to create a Mini Dump and will be located in %LOCALAPPDATA%\CrashDumps." + write-host "The computer must also restart for settings to take effect. Would you like to now? (Y/n)" + if($reboot -eq "Yes" -or $reboot -eq "Y" -or $reboot -eq "yes" -or $reboot -eq "y") + { + shutdown -r + } + Else + { + write-host "Please restart the machine for settings to take effect at your convenience." + } +} +Else +{ + write-host "You did not enter a valid option. Please re-run Get-Dump.ps1" + start-sleep -s 5 } diff --git a/Scripts/download.ps1 b/Scripts/download.ps1 index b380756f..a3628a02 100755 --- a/Scripts/download.ps1 +++ b/Scripts/download.ps1 @@ -1,6 +1,6 @@ #!/snap/bin/powershell -# Syntax: ./download.ps1 +# Syntax: ./download.ps1 [] # Description: downloads the file/directory from the given URL # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell @@ -8,7 +8,7 @@ param([string]$URL) if ($URL -eq "" ) { - $URL = read-host "Enter URL to download: " + $URL = read-host "Enter URL to download" } try { diff --git a/Scripts/init-git.ps1 b/Scripts/init-git.ps1 index c96b8db6..e5e7ab24 100755 --- a/Scripts/init-git.ps1 +++ b/Scripts/init-git.ps1 @@ -6,9 +6,9 @@ # Source: github.com/fleschutz/PowerShell # License: CC0 -$UserName = read-host "Your full name: " -$UserEmail = read-host "Your email address: " -$UserEditor = read-host "Your favorite editor (nano, vi, emacs): " +$UserName = read-host "Your full name" +$UserEmail = read-host "Your email address" +$UserEditor = read-host "Your favorite editor (nano, vi, emacs)" try { git config --global user.name $UserName diff --git a/Scripts/latlong.ps1 b/Scripts/latlong.ps1 index 9aaf892c..b9b72beb 100755 --- a/Scripts/latlong.ps1 +++ b/Scripts/latlong.ps1 @@ -1,14 +1,18 @@ #!/snap/bin/powershell -# Syntax: ./latlong.ps1 +# Syntax: ./latlong.ps1 [] # Description: prints the lat/long coordinates of the given city # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell # License: CC0 param([string]$City) +if ($City -eq "" ) { + $City = read-host "Enter city" +} try { + write-progress "Reading worldcities.csv..." $Table = import-csv worldcities.csv $FoundOne = 0 foreach($Row in $Table) { diff --git a/Scripts/test.ps1 b/Scripts/test.ps1 index a9e65e23..7b194b44 100755 --- a/Scripts/test.ps1 +++ b/Scripts/test.ps1 @@ -1,4 +1,4 @@ -#!/snap/bin/powershell +#!/snap/bin/powershell # Syntax: ./test.ps1 # Description: simple PowerShell test script diff --git a/Scripts/train-dns-cache.ps1 b/Scripts/train-dns-cache.ps1 index f1956654..37f1a032 100755 --- a/Scripts/train-dns-cache.ps1 +++ b/Scripts/train-dns-cache.ps1 @@ -12,7 +12,7 @@ try { $Table = import-csv domain_table.csv foreach($Row in $Table) { $Domain = $Row.Domain - write-progress "Training DNS cache with $Domain ..." + write-progress "Training DNS cache with $Domain..." $Ignore = nslookup $Domain } diff --git a/Scripts/txt2wav.ps1 b/Scripts/txt2wav.ps1 index 263ba262..88ee88b6 100755 --- a/Scripts/txt2wav.ps1 +++ b/Scripts/txt2wav.ps1 @@ -1,25 +1,25 @@ -#!/snap/bin/powershell - -# Syntax: ./txt2wav.ps1 -# Description: converts the given text into an audio .WAV file -# Author: Markus Fleschutz -# Source: github.com/fleschutz/PowerShell -# License: CC0 - -# Configuration: -$Text = "Hello, my name ist Bond, James Bond" -$Speed = -1 # -10 is slowest, 10 is fastest -$TargetWavFile = "spoken.wav" - -# Run: -try { - Add-Type -AssemblyName System.Speech - $SpeechSynthesizer = New-Object System.Speech.Synthesis.SpeechSynthesizer - # $SpeechSynthesizer.SelectVoice("Microsoft Eva Mobile") - $SpeechSynthesizer.Rate = $Speed - $SpeechSynthesizer.SetOutputToWaveFile($TargetWavFile) - $SpeechSynthesizer.Speak($Text) - $SpeechSynthesizer.Dispose() - exit 0 -} catch { Write-Error $Error[0] } -exit 1 +#!/snap/bin/powershell + +# Syntax: ./txt2wav.ps1 +# Description: converts the given text into an audio .WAV file +# Author: Markus Fleschutz +# Source: github.com/fleschutz/PowerShell +# License: CC0 + +# Configuration: +$Text = "Hello, my name ist Bond, James Bond" +$Speed = -1 # -10 is slowest, 10 is fastest +$TargetWavFile = "spoken.wav" + +# Run: +try { + Add-Type -AssemblyName System.Speech + $SpeechSynthesizer = New-Object System.Speech.Synthesis.SpeechSynthesizer + # $SpeechSynthesizer.SelectVoice("Microsoft Eva Mobile") + $SpeechSynthesizer.Rate = $Speed + $SpeechSynthesizer.SetOutputToWaveFile($TargetWavFile) + $SpeechSynthesizer.Speak($Text) + $SpeechSynthesizer.Dispose() + exit 0 +} catch { Write-Error $Error[0] } +exit 1 diff --git a/Scripts/wakeup.ps1 b/Scripts/wakeup.ps1 index ce8e86df..e462776e 100755 --- a/Scripts/wakeup.ps1 +++ b/Scripts/wakeup.ps1 @@ -1,61 +1,65 @@ -#!/snap/bin/powershell - -# Syntax: ./wakeup.ps1 -# Description: sends a magic packet to the given computer, waking him up -# Author: Markus Fleschutz -# Source: github.com/fleschutz/PowerShell -# License: CC0 - -function Send-WOL -{ -<# - .SYNOPSIS - Send a WOL packet to a broadcast address - .PARAMETER mac - The MAC address of the device that need to wake up - .PARAMETER ip - The IP address where the WOL packet will be sent to - .EXAMPLE - Send-WOL -mac 00:11:32:21:2D:11 -ip 192.168.8.255 - .EXAMPLE - Send-WOL -mac 00:11:32:21:2D:11 -#> - -[CmdletBinding()] -param( -[Parameter(Mandatory=$True,Position=1)] -[string]$mac, -[string]$ip="255.255.255.255", -[int]$port=9 -) -$broadcast = [Net.IPAddress]::Parse($ip) - -$mac=(($mac.replace(":","")).replace("-","")).replace(".","") -$target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)} -$packet = (,[byte]255 * 6) + ($target * 16) - -$UDPclient = new-Object System.Net.Sockets.UdpClient -$UDPclient.Connect($broadcast,$port) -[void]$UDPclient.Send($packet, 102) -} - -$Hostname = read-host "Enter hostname: " -$MyMACAddresses = "io=11:22:33:44:55:66","pi=11:22:33:44:55:66" - -try { - foreach($item in $MyMACAddresses) { - $array = $item.Split("=") - $thisHost=$array[0] - $thisMAC=$array[1] - if ($thisHost -like $Hostname) { - Send-WOL $thisMAC - write-output "✔️ host $thisHost waked up (MAC $thisMAC)" - exit 0 - } - } - - echo "Sorry, hostname $Hostname is unknown." - pause - exit 1 -} catch { Write-Error $Error[0] } -exit 1 +#!/snap/bin/powershell + +# Syntax: ./wakeup.ps1 [] +# Description: sends a magic packet to the given computer, waking him up +# Author: Markus Fleschutz +# Source: github.com/fleschutz/PowerShell +# License: CC0 + +param([string]$Hostname) +if ($Hostname -eq "" ) { + $Hostname = read-host "Enter hostname" +} + +function Send-WOL +{ +<# + .SYNOPSIS + Send a WOL packet to a broadcast address + .PARAMETER mac + The MAC address of the device that need to wake up + .PARAMETER ip + The IP address where the WOL packet will be sent to + .EXAMPLE + Send-WOL -mac 00:11:32:21:2D:11 -ip 192.168.8.255 + .EXAMPLE + Send-WOL -mac 00:11:32:21:2D:11 +#> + +[CmdletBinding()] +param( +[Parameter(Mandatory=$True,Position=1)] +[string]$mac, +[string]$ip="255.255.255.255", +[int]$port=9 +) +$broadcast = [Net.IPAddress]::Parse($ip) + +$mac=(($mac.replace(":","")).replace("-","")).replace(".","") +$target=0,2,4,6,8,10 | % {[convert]::ToByte($mac.substring($_,2),16)} +$packet = (,[byte]255 * 6) + ($target * 16) + +$UDPclient = new-Object System.Net.Sockets.UdpClient +$UDPclient.Connect($broadcast,$port) +[void]$UDPclient.Send($packet, 102) +} + +$MyMACAddresses = "io=11:22:33:44:55:66","pi=11:22:33:44:55:66" + +try { + foreach($item in $MyMACAddresses) { + $array = $item.Split("=") + $thisHost=$array[0] + $thisMAC=$array[1] + if ($thisHost -like $Hostname) { + Send-WOL $thisMAC + write-output "✔️ host $thisHost waked up (MAC $thisMAC)" + exit 0 + } + } + + echo "Sorry, hostname $Hostname is unknown." + pause + exit 1 +} catch { Write-Error $Error[0] } +exit 1