mirror of
https://github.com/narkoz/hacker-scripts
synced 2025-08-22 18:37:10 +00:00
Added powershell files
This commit is contained in:
parent
d00697026f
commit
8d18571e99
62
powershell/fucking_coffee.psm1
Normal file
62
powershell/fucking_coffee.psm1
Normal file
@ -0,0 +1,62 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Simple script to connect to a coffee part using TelNet then issue specific commands that
|
||||
brew and pourt a cup of coffee for the user.
|
||||
.DESCRIPTION
|
||||
This script was converted using the ruby version of the fucking_coffee script. In this script,
|
||||
I left the use of environment variables since its only use was to determine if the user was
|
||||
still logged in to the system. Per issue #42 (https://github.com/NARKOZ/hacker-scripts/issues/42)
|
||||
I left the password string hard coded until a decision is made by NARKOZ, the project owner, as
|
||||
to how the information should be stored.
|
||||
.OUTPUT
|
||||
None
|
||||
.NOTES
|
||||
Author: Tyler Hughes
|
||||
Twitter: @thughesIT
|
||||
Blog: http://tylerhughes.info/
|
||||
|
||||
Changelog:
|
||||
1.0 Initial Release
|
||||
#>
|
||||
|
||||
Function Fucking-Coffee
|
||||
{
|
||||
# Exit early if no sessions with my username are found
|
||||
if ($env:Username.Count > 0) {
|
||||
return
|
||||
}
|
||||
|
||||
$coffee_machine_ip = '10.10.42.42'
|
||||
$password = '1234'
|
||||
|
||||
Start-Sleep -s 17
|
||||
|
||||
$socket = New-Object System.Net.Sockets.TcpClient($coffee_machine_ip)
|
||||
if ($socket) {
|
||||
$stream = $connection.GetStream()
|
||||
$Writer = New-Object System.IO.StreamWriter($Stream)
|
||||
$Buffer = New-Object System.Byte[] 1024
|
||||
$Encoding = New-Object System.Text.AsciiEncoding
|
||||
|
||||
# Start issuing the commands
|
||||
Send-TelNetCommands($Writer, $password, 1)
|
||||
Send-TelNetCommands($Writer, "sys brew", 24)
|
||||
Send-TelNetCommands($Writer, "sys pour", 4)
|
||||
|
||||
$socket.Close()
|
||||
}
|
||||
}
|
||||
|
||||
Function Send-TelNetCommands
|
||||
{
|
||||
Param (
|
||||
[Parameter(ValueFromPipeline=$false)]
|
||||
[System.IO.StreamWriter]$writer,
|
||||
[String]$command,
|
||||
[int]$WaitTime
|
||||
)
|
||||
|
||||
$writer.WriteLine($command)
|
||||
$writer.Flush()
|
||||
Start-Sleep -Milliseconds $WaitTime
|
||||
}
|
64
powershell/hangover.psm1
Normal file
64
powershell/hangover.psm1
Normal file
@ -0,0 +1,64 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Simple script to SMS a supervisor informing them you will be working from home
|
||||
on the day this script is used.
|
||||
.DESCRIPTION
|
||||
This script was converted using the ruby version of the hangover script. However, the ruby
|
||||
version used environment variables to hold the user's account information. Due to issue #42
|
||||
(https://github.com/NARKOZ/hacker-scripts/issues/42) I opted to hard code the strings at
|
||||
this time until a decision is made by NARKOZ, the project owner, as the how the information
|
||||
should be stored.
|
||||
|
||||
This script also uses Twilio to send the SMS messages. The from number MUST be a valid Twilio
|
||||
phone number. The to number can be any outgoing number.
|
||||
.OUTPUT
|
||||
This script will output an error message to the PowerShell window if it fails
|
||||
to send the message.
|
||||
.NOTES
|
||||
Author: Tyler Hughes
|
||||
Twitter: @thughesIT
|
||||
Blog: http://tylerhughes.info/
|
||||
|
||||
Changelog:
|
||||
1.0 Initial Release
|
||||
#>
|
||||
Function Hangover
|
||||
{
|
||||
# Phone numbers (Must include country code and area code)
|
||||
$from = '+XXXXXXXXXXX'
|
||||
$to = '+XXXXXXXXXXX'
|
||||
|
||||
# Twilio API Information
|
||||
$twilio_base_url = 'https://api.twilio.com/2010-04-01'
|
||||
$twilio_account_sid = 'XXXXXXXXXXXXXXXXXXX'
|
||||
$twilio_auth_token = 'XXXXXXXXXXXXXXXXXX'
|
||||
|
||||
$password = ConvertTo-SecureString -AsPlainText $twilio_auth_token -Force
|
||||
$credentials = New-Object System.Management.Automation.PSCredential($twilio_account_sid, $password)
|
||||
|
||||
# Get the message to send
|
||||
$excuses =
|
||||
'Locked out',
|
||||
'Pipes broke',
|
||||
'Food poisoning',
|
||||
'Not feeling well'
|
||||
|
||||
$excuse = $excuses | Get-Random
|
||||
$message = "$excuse. Going to work from home today."
|
||||
$body = @{
|
||||
From = $from;
|
||||
To = $to;
|
||||
Body = $message;
|
||||
}
|
||||
|
||||
# Send the message and log any errors
|
||||
$uri = "$twilio_base_url/Accounts/" + $credentials.UserName + "/SMS/Messages"
|
||||
|
||||
try {
|
||||
$response = Invoke-RestMethod -Method Post -Uri $uri -Body $body -Credential $credentials
|
||||
}
|
||||
catch {
|
||||
$time = Get-Date -format u
|
||||
Write-Host $time " - Failed to send message: " $message
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user