Windows remote screen lock
Захотелось тут иметь возможность лочить одновременно вендовую и невендовую машину. Ничего лучшего не придумал:
#!/usr/bin/env python
import socket
import os
HOST=''
PORT=30003
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while True:
conn, addr = s.accept()
print 'Connected:', addr
host, port = addr
if host == 'another-host-ip':
data = conn.recv(1024).strip(' \n\r\t')
print '[%s]' % data
if data == 'lock':
print "Locking workstation..."
os.system("rundll32.exe user32.dll, LockWorkStation")
print "...done"
conn.close()
Дальше лочить:
echo "lock" | nc win-host-ip 30003