2
0
mirror of https://github.com/narkoz/hacker-scripts synced 2025-08-24 19:37:10 +00:00
hacker-scripts/powershell/fucking_coffee.psm1
Will Webb 7a82ced99f Update fucking_coffee.psm1
Corrected spelling in synopsis.
2016-03-31 18:41:37 +01:00

63 lines
1.8 KiB
PowerShell

<#
.SYNOPSIS
Simple script to connect to a coffee part using TelNet then issue specific commands that
brew and pour 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
}