+Warwagon MVC Posted September 22, 2023 Author MVC Share Posted September 22, 2023 With the help of Chat GPT and my own troubleshooting of the code .. I now have an app for that written in python! Works great! Woot! here is the code if anyone else wants it. You just have to enter the SSH IP / username and password as well as the wake on lan IP and mac address .Just keep the " " around the info. import tkinter as tk import paramiko import socket import binascii import threading # Specify the computer name here computer_name = "Computer Name" def ssh_connect(): def ssh_worker(): host = "IP address" port = 22 # SSH port (e.g., 22) username = "Username" password = "Password" try: # Create an SSH client instance ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # Connect to the SSH server ssh.connect(host, port, username, password) # Execute a custom command on the remote machine command = "RUNDLL32.EXE powrprof.dll,SetSuspendState" # Replace with your desired command stdin, stdout, stderr = ssh.exec_command(command) # Show an SSH command execution success message on the GUI update_success_message("SSH command sent successfully") # Handle the result as needed result = stdout.read().decode() # Close the SSH connection when you're done ssh.close() print("SSH command result:") print(result) except paramiko.AuthenticationException: # Show an error message on the GUI update_error_message("Authentication failed") except paramiko.SSHException as e: # Show an error message on the GUI update_error_message(f"SSH connection failed: {e}") except Exception as e: # Show a generic error message on the GUI update_error_message(f"An error occurred: {e}") # Create and start a separate thread for SSH operations ssh_thread = threading.Thread(target=ssh_worker) ssh_thread.start() def wake_on_lan(): def wol_worker(): mac_address = "MAC Address" # Replace with your target MAC address broadcast_address = "IP Address" # Replace with your network's broadcast address port = 9 # WoL port (default is 9) try: # Create a socket to send the WoL magic packet s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) # Prepare the WoL magic packet mac_bytes = mac_address.replace(":", "").replace("-", "") if len(mac_bytes) != 12: # Show an error message on the GUI update_error_message("Invalid MAC address for WoL") return magic_packet = b'FF' * 6 + (mac_bytes * 16).encode() # Send the WoL magic packet s.sendto(binascii.unhexlify(magic_packet), (broadcast_address, port)) s.close() # Show a WoL packet sent success message on the GUI update_success_message("WoL packet sent successfully") except socket.error as e: # Show an error message on the GUI update_error_message(f"Error sending WoL packet: {e}") # Create and start a separate thread for WoL operation wol_thread = threading.Thread(target=wol_worker) wol_thread.start() # Create the main application window app = tk.Tk() app.title("SSH Command Executor and WoL") # Create a label with the specified computer name in big, bold letters computer_name_label = tk.Label(app, text=computer_name, font=("Helvetica", 20, "bold")) computer_name_label.pack() # Create a label to display success messages success_label = tk.Label(app, text="", font=("Helvetica", 14)) success_label.pack() # Create a label to display error messages in red error_label = tk.Label(app, text="", font=("Helvetica", 14), fg="red") error_label.pack() # Function to update the success message on the GUI def update_success_message(message): success_label.config(text=message) app.after(5000, lambda: success_label.config(text="")) # Function to update the error message on the GUI def update_error_message(message): error_label.config(text=message) app.after(5000, lambda: error_label.config(text="")) # Create buttons execute_button = tk.Button(app, text="Put to Sleep", command=ssh_connect) execute_button.pack() sleep_button = tk.Button(app, text="Wakeup", command=wake_on_lan) sleep_button.pack() # Start the GUI application app.mainloop() Then used pyinstall to compile it to an exe goretsky, Nick H. and Ignore22 2 1 Share Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852317 Share on other sites More sharing options...
binaryzero Posted September 23, 2023 Share Posted September 23, 2023 You should probably learn PoweShell… Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852356 Share on other sites More sharing options...
+Warwagon MVC Posted September 23, 2023 Author MVC Share Posted September 23, 2023 On 23/09/2023 at 02:14, binaryzero said: You should probably learn PoweShell… Dunno, i'm having a BLAST making these apps. It's addicting. If anything i'd like to learn Python. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852408 Share on other sites More sharing options...
+Matthew S. Subscriber² Posted September 23, 2023 Subscriber² Share Posted September 23, 2023 Should try and port it to other languages . ChatGPT is actually really powerful in assisting in programing though I'll give it that. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852434 Share on other sites More sharing options...
Nick H. Supervisor Posted September 23, 2023 Supervisor Share Posted September 23, 2023 @WarwagonI would ignore @binaryzeroand his comment. You started with a .bat file, you branched out to make an application that uses Python. If it works for you, it works. I appreciate that you shared your experience so that others can use what you learned along the way if they want to do a similar thing. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852441 Share on other sites More sharing options...
adrynalyne Posted September 23, 2023 Share Posted September 23, 2023 (edited) On 23/09/2023 at 12:56, Nick H. said: @WarwagonI would ignore @binaryzeroand his comment. You started with a .bat file, you branched out to make an application that uses Python. If it works for you, it works. I appreciate that you shared your experience so that others can use what you learned along the way if they want to do a similar thing. There isn’t really anything wrong with his comment. PowerShell is ideal for this stuff and is built into Windows. To each their own of course. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852444 Share on other sites More sharing options...
Nick H. Supervisor Posted September 23, 2023 Supervisor Share Posted September 23, 2023 On 23/09/2023 at 21:13, adrynalyne said: There isn’t really anything wrong with his comment. PowerShell is ideal for this stuff and is built into Windows. I agree, nothing wrong with going through Powershell. But he brought it up back in February, we (binaryzero and myself) provided links to do it via Powershell. Warwagon went with Python, and it works. Rehashing the same comment from several months ago just seems a bit useless, and not productive. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852447 Share on other sites More sharing options...
adrynalyne Posted September 23, 2023 Share Posted September 23, 2023 On 23/09/2023 at 13:17, Nick H. said: I agree, nothing wrong with going through Powershell. But he brought it up back in February, we (binaryzero and myself) provided links to do it via Powershell. Warwagon went with Python, and it works. Rehashing the same comment from several months ago just seems a bit useless, and not productive. Gotcha. I didn’t check the date. Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852448 Share on other sites More sharing options...
binaryzero Posted September 24, 2023 Share Posted September 24, 2023 On 24/09/2023 at 06:17, Nick H. said: Rehashing the same comment from several months ago just seems a bit useless, and not productive. So this entire thread? Link to comment https://www.neowin.net/forum/topic/1425728-putting-a-windows-1011-computer-to-sleep-over-the-network-using-ssh/page/2/#findComment-598852465 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now