linux運(yùn)維 - python遠(yuǎn)程控制windows如何實(shí)現(xiàn)
問(wèn)題描述
在windows沒(méi)有開啟ssh只開啟了mstsc的前提下python有沒(méi)有遠(yuǎn)程控制win服務(wù)器的方案?想實(shí)現(xiàn)遠(yuǎn)程關(guān)機(jī)的功能。
問(wèn)題解答
回答1:(1)從Linux遠(yuǎn)程關(guān)閉windows:
import osos.system('net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f')
(2)從windows遠(yuǎn)程關(guān)閉windows: (reference)http://code.activestate.com/r...
#!/usr/bin/env python# win32shutdown.pyimport win32apiimport win32conimport win32netconimport win32securityimport win32wnetdef shutdown(host=None, user=None, passwrd=None, msg=None, timeout=0, force=1, reboot=0): ''' Shuts down a remote computer, requires NT-BASED OS. '''# Create an initial connection if a username & password is given. connected = 0 if user and passwrd:try: win32wnet.WNetAddConnection2(win32netcon.RESOURCETYPE_ANY, None, ’’.join([r’’, host]), None, user, passwrd)# Don’t fail on error, it might just work without the connection.except: passelse: connected = 1 # We need the remote shutdown or shutdown privileges. p1 = win32security.LookupPrivilegeValue(host, win32con.SE_SHUTDOWN_NAME) p2 = win32security.LookupPrivilegeValue(host, win32con.SE_REMOTE_SHUTDOWN_NAME) newstate = [(p1, win32con.SE_PRIVILEGE_ENABLED),(p2, win32con.SE_PRIVILEGE_ENABLED)] # Grab the token and adjust its privileges. htoken = win32security.OpenProcessToken(win32api.GetCurrentProcess(), win32con.TOKEN_ALL_ACCESS) win32security.AdjustTokenPrivileges(htoken, False, newstate) win32api.InitiateSystemShutdown(host, msg, timeout, force, reboot) # Release the previous connection. if connected:win32wnet.WNetCancelConnection2(’’.join([r’’, host]), 0, 0)if __name__ == ’__main__’: # Immediate shutdown. shutdown(’salespc1’, ’admin’, ’secret’, None, 0) # Delayed shutdown 30 secs. shutdown(’salespc1’, ’admin’, ’secret’, ’Maintenance Shutdown’, 30) # Reboot shutdown(’salespc1’, ’admin’, ’secret’, None, 0, reboot=1) # Shutdown the local pc shutdown(None, ’admin’, ’secret’, None, 0)
相關(guān)文章:
1. javascript - 循環(huán)嵌套多個(gè)promise應(yīng)該如何實(shí)現(xiàn)?2. mysql優(yōu)化 - 關(guān)于mysql分區(qū)3. css3 - rem布局下,用戶瀏覽器的最小字號(hào)是12px怎么辦?4. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出5. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?6. objective-c - iOS開發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開發(fā)的一個(gè)app?7. 前端 - IE9 css兼容問(wèn)題8. 請(qǐng)教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒(méi)有反應(yīng)9. vue.js - vue 打包后 nginx 服務(wù)端API請(qǐng)求跨域問(wèn)題無(wú)法解決。10. css - 移動(dòng)端字體設(shè)置問(wèn)題
