远程锁定计算机,远程关机
随着计算机技术及网络技术的发展,网络的应用越来越广泛,计算机不仅可以控制本地的设备, 还可通过网络控制远端的设备,网上监控便应运而生。将远程控制应用于各种网络管理软件中,已成为网络技术管理的重要手段。远程关机也是其中的一种。这里介绍一种远程关机的实现方式。
中文名
远程关机
外文名
remote shutdown
特 点
方便、效率高应 用
计算机网络通信
目 的
远程控制计算机关机
领 域
计算机
远程关机概述
编辑
语音
随着计算机网络通信技术的迅猛发展, 网络的应用越来越广泛, 计算机不仅可以控制本地的设备, 还可通过网络控制远端的设备, 计算机网络控制技术离不开网络编程。 相比众多编写网络通信软件的工具和方法,使用Winsock控件进行网络编程简单而且有效, 因而用处颇为广泛, 成为一种主要技术。 Winsock控件支持UDP和TCP两种协议,可以方便地实现了服务端和客户端的连接,在利用Winsock控件进行开发时,程序员并不用过多了解协议的内容,及网络间的关系和理论,也不需要调用低级的Socket通用程序接口,只需要使用Winsock, 由W insock寻找并利用已经安装好的底层协议,正确设置控件的属性、方法、 事件,就可开发出相关程序。实现计算机之间的双向数据交换。 本文主要介绍基于TCP/IP协议的Windows环境下使用Vb语言进行W insock网络编程的原理和方法,实现C/S模式的一种网络通信。这里介绍了如何实现通过网络控制远程计算机关机[1]
。
远程关机设计思想
编辑
语音
本系统基于C/S体系结构设计, C/S模式是一种传统的开发模式,适用于用户有限的局域网环境。 在这种模式下,客户端与服务器直接相连, 因此响应速度快。开发费用较低,周期也较短。 服务器端(控制端)运行Server程序,在每台客户端(被控端)上也需要运行专门的Client程序。 通过修改注册表信息, 将Client的可执行文件加到HKEY -LOCAL-MACHINE\SOFTW ARE\Microsoft\W indows\CurrentVersion\Run下,使Client程序在每次开机时能够自动运行, 运行后两端程序可以通过IP地址建立连接,进行数据传递, 以达到通信的目的。 远程关机功能模块连接在Client中, Server根据需要向Client发送不同的命令(字符串), Client根据接受到的命令调用不同的功能模块,执行相应的功能, 实现管理机对被管理机的远程控制。在WindowsNT/2000系统中,必需先调用API函数,获取关闭计算机的权限, 然后才能关闭计算机。 可以将这个过程写入客户端程序中, 在执行关机命令之前先执行此步骤以获取权限。 所以具体的远程关机的步骤是: 第一步利用winsock控件取得通信连接; 第二步为当前进程获取关机权限; 第三步根据服务器发送的命令, 客户机调用ExitW indowsEx函数实现关机、 注销、重启[1]
。
远程关机系统实现
编辑
语音
远程关机winsock连接
Winsock在计算机中提供了一个通信端口, 通过这个端口, 一台计算机可以和网络中任何具有Winsock端口的计算机通信, 利用Winsock控件可以与远程计算机建立连接, 并通过用户数据文报协议(UDP)或者传输控制协议(TCP)进行数据交换。这两种协议都可以用来创建客户与服务器应用程序。本系统采用了后者, 通信过程为:
服务器端:
1)设置服务端的监听端口LocalPort属性, 调用Listen方法进行监听, 进行等待状态后, 方能接收客户请求。
2)当客户端发同请求连接时(Connect), 服务器端产生ConnectionRequest事件, 要响应连接, 就要调用Accept方法接受客户端的requestID请求, 此后服务端和客户端的连接开始建立。
客户端:
1)设置客户端的RemoteHost和RemotePort属性,分别与服务器的IP地址, 监听端口为同一个值。 然后调用Connect方法向服务器提交连接请求。
2)服务端和客户端连接上后, 就可以相互用SendData方法发送数据和GetData方法接收数据了。 当接收数据到达时,发生DataArrival事件, 可根据DataArrival事件判断调用的事件。 当服务器或客户端请求关闭连接时,调用Close方法即可[1]
。
远程关机调用API函数获取关机权限进行关机
关闭Windows所调用的API函数是ExitWindowsEx,而WindowsNT/2000基于安全性的考虑, 必须先以API函数AdjustTokenPrivileges设置安全级别, 才能关机。在Windows2000/NT下面, 各种与系统有关的操作, 比如: 关闭系统, 添加设备或者修改系统时间等,必须要具有一定的权限才能进行。 系统为每一个登录的用户设置了各种权限, 这些权限放到“访问令牌(access token)” 中。如果要在程序中进行授权的操作, 必须要将访问令牌中的这些操作设为可行的才能使用。 我们要修改一个进程的访问令牌, 先调用GetCurrentProcess函数取得当前进程访问令牌的句柄,然后调用OpenProcessToken函数打开当前进程的访问令牌, 接着调用LookupPrivilegeValue函数取得你想提升的权限的值, 最后调用AdjustTokenPrivileges函数给当前进程的访问令牌增加权限就可以了[1]
。
远程关机过程调用方法
在编程中, 在Client的DataArrival事件中完成过程调用,
PrivateSubClientDataArrival(ByVal bytesTo2talAsLong)
Dim i As st ring
Client.GetData I/‘接收管理机发送的命令字符串
selectcasei
case/‘关机’
AdjustTokenPrivilegesForNT
ExitW indowsEx EW X _SHUTDOW N,0/‘如果为“关机” 则调用远程关机过程
case/‘重启’
AdjustTokenPrivilegesForNT
ExitW indowsEx EW X _REBOOT, 0/‘如果为“重启”则调用远程重启过程case‘注销’
AdjustTokenPrivilegesForNT
ExitW indowsEx EW X _ LOGOFF,0/‘如果为“注销”则调用远程注销过程
End select
End Sub
通过Server程序可分别设置关机, 重启, 注销三个按钮, 单击按钮时分别向Client发送“关机”,“重启”,“注销” 字符串, 这时Client根据接收到的不同字符串可选择执行不同的操作以完成相应的任务[1]
。
上述VB代码在Win2000/W in98下调试通过, 并经过实际运行效果良好, 在VB环境下利用Winsock控件进行网络编程, 开发一种基于TCP协议的服务器和客户机应用程序, 能够实现服务器端与客户端之间进行数据通讯, 以实现一个简单的远程关机程序, 经扩展可以实现对多台客户机进行控制,初步证实了用Visual Basic对远程控制系统的可设计性和可实现性,对网络远程控制的基本实现方式作了尝试性的探讨, 以上示例采用的方法思路相对简单, 在此基础上略加改造, 可以形成功能复杂的计算机网络管理系统, 用于屏幕图像抓取、 文件传输、 远程监控等。 在网络化时代, 对局域网内部的计算机管理作用重大, 通过远程控制可以有效提高工作效率, 大量节约工作时间。
参考资料
1.
何增颖 .基于Winsock网络通信的远程关机技术 [J].信息通信 , 2007 , 24 (5) :62-64
远程锁定计算机,远程关机相关推荐
- 远程锁定计算机,利用Microsoft帐户来远程退出并锁定你的Windows 10电脑
虽然Windows 10的锁定画面没有智能型手机那么的生动活泼,不过也是一样用滑动或点选来解锁,且解锁后搭配登入画面来达到安全性的防护,因使为了安全起见,离开Windows 10使用[视窗键+L]热键 ...
- dos命令远程重启计算机,远程重启、关闭电脑命令、远程重启及其常用计算机命令...
一:远程重启.关闭电脑命令.远程重启计算机命令 shutdown.exe [-i | -l | -s | -r | -a][-f] [-m [url=file://\\computername]\\c ...
- 计算机远程控制原理,计算机远程控制软件排行榜,如何实现远程控制桌面?
随着互联网技术的发展,计算机远程控制在我们日常工作和生活中的应用越来越广泛,关于计算机远程控制软件排名情况也是很多用户比较关心的东西.通过实现计算机远程控制,我们可以实现对远程计算机的维护操作,同时可 ...
- 锁定计算机后 关机任务不执行,定时关机3000常见问题(一)
定时关机3000是一款专业的电脑定时自动关机软件,具有定时关机.电脑管理.时间限制和开关机日志分析四个强大功能,能够满足各种对电脑定时关机有需求的用户,堪称是家长和电脑管理人员的好帮手! 定时关机30 ...
- 电脑锁定计算机键被改了,电脑热键被修改了如何恢复,电脑的ctrl+alt+delete快捷键变成锁定计算机、关机、重启的选项界面了。郁闷...
满意答案 oystl3187 2013.09.05 采纳率:57% 等级:11 已帮助:4491人 方案一 "开始→运行"框中键入Gpedit.msc命令打开组策略窗口,找到 ...
- win10锁定计算机命令,锁定Windows 10 PC的10种方法
离开时,锁定Windows 10 PC是保护计算机安全的最佳方法.这不会退出或中断任何正在运行的应用程序,您必须输入PIN或密码才能通过锁定屏幕.您可以通过以下10种方式锁定计算机. 在"开 ...
- 远程关闭计算机提示拒绝访问权限,如何解决shutdown远程关机win10拒绝访问的问题...
win10系统自带一个名为Shutdown.exe的程序,可以用于关机操作.但最近有网友却表示说自己想要通过shutdown进行远程关机win10系统时却出现了被拒绝访问的情况,不知道怎么解决很苦恼, ...
- 远程关闭计算机提示拒绝访问权限,shutdown远程关机win10系统拒绝访问最佳解决方法...
win10系统功能强大,能够实现很多让用户看起来很不可思议的操作,其中就包括通过shutdown命令进行win10系统的远程使用,但是近日有用户想要通过shutdown进行远程关机win10系统时却被 ...
- 计算机远程用户关机指令,详细介绍一个远程关机命令
介绍一个比较好用的命令,以前经常用,今天突然看到以前写的文档,就把这个拿出来分享一下,大家都知道windows server服务器经常会卡死,导致远程连接不上,但是又能ping通,然后我就试着从在同一 ...
最新文章
- 七天快排优化真的存在!
- 做弱电机房工程的时候,如何解决机房称重问题?
- 自定义EventSource(三)IncrementingEventCounter
- jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...
- 2020年短视频及电商直播趋势报告
- 什么是对象存储OSS-对象存储 OSS > 产品简介 > 什么是对象存储OSS
- csdn博客改用户名,取名字慎重
- Qt引入图标字体包iconfont
- Microsoft Virtual WiFi Miniport Adapter 使用方法
- 字节跳动一道Python面试题
- (二)Execute
- Robin六种常用负载均衡算法源码解析
- 无线网络中信噪比(SNR)计算
- 2019阿里校招测评——光明小学接力赛(Java)
- EDiary(电子日记本)终于发布
- user guide 说明
- 微信和支付宝对我们生活产生翻天覆地的改变
- 29岁女子征婚火了:父母开厂有两套房 介绍费给2万
- 安天发布措施紧急应对新型勒索软件“wannacry”
- baum welch java_Baum-Welch的实施示例
热门文章
- VB关于桌面的一些操作
- 【史上最全】macOS 常用键盘快捷键大全 - 最值得你记住的 Mac 常用快捷键组合
- 导入Oracle数据库中的汉字都是问号
- 微信小程序一键抠图(进阶),抠图完成之后自定义背景合成新图并下载到本地
- Deepin wine QQ崩溃卡死的原因之一
- C++作业: 五人合伙夜间捕鱼,天亮前因劳累在河边相继分别找地方睡去
- mysql check column exists_Mysql exists用法小记
- plot 绘制 混淆矩阵,通过plt.figure调整画布大小和图片清晰度
- kalilinux炫酷壁纸_Kali linux的简单美化,主题下载
- Android4获取data目录与外部储存卡目录