mirror of
https://github.com/narkoz/hacker-scripts
synced 2025-08-22 18:37:10 +00:00
64 lines
2.1 KiB
PowerShell
64 lines
2.1 KiB
PowerShell
|
<#
|
||
|
.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
|
||
|
}
|
||
|
}
|