mirror of
https://github.com/narkoz/hacker-scripts
synced 2025-08-24 19:37:10 +00:00
63 lines
1.8 KiB
PowerShell
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
|
|
}
|