C# 管理远程桌面
来源:互联网 发布:买家怎么取消淘宝介入 编辑:程序博客网 时间:2024/06/05 10:43
工作中需要经常连接多台服务器,每台服务器密码定时修改。
最初的时候,是把账号密码记录在一个文本文件中,第一次连接,复制粘贴。之后就可以直接从连接历史中选出来。
但是后来服务器多了之后,连接历史中都是IP地址,经常认错。就萌生了使用工具管理的想法。
但是服务器账号密码这东西太敏感,对网上下载的工具不信任,就产生自己写一个工具的想法。
账号密码的管理,无非就是数据最基本的增删改查,无需赘言。
远程连接服务器时,遇到了麻烦。
连接服务器的方法很简单,生成RDP文件,然后
System.Diagnostics.Process.Start("mstsc.exe", RDP文件路径)
此方式方便。但是没办法传密码。如果连接的服务器没有在本机保存密码,或者保存的密码不对,就需要手动输入密码进行连接。
注:此处有个坑,网上很多人的blog里写道,可以在rdp文件中加入password属性,然后把密码通过某种方式加密后最有password的属性值,即自动连接,无须再输入密码。但是这个方法我就没成功过。也不知道那些个写或者转这个方法的人到底有没有尝试。
而后,又查了很多网站和资料。终于找到一个办法。
首先调用cmdkey.exe,将远程桌面的账号密码作为凭据,添加到本机的凭据管理中,然后在通过以上方法启动远程桌面即可。
Process process = new Process();process.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");process.StartInfo.Arguments = "/generic:TERMSRV/" + IP地址 + " /user:" + 用户名+ " /password:" + 密码;process.Start();
至此,远程桌面管理的功能就基本实现了。其他的无非是一些界面美化,操作习惯,等等。不再赘述。
不过试运行了一段时间后发现一个问题。在WindowsXP的电脑上是没有cmdkey.exe这个东西的。直接导致没办正常使用了。只能在Windows7和Windows10上正常使用。期他的系统没有测试,但是想来只要是版本高于Windows2003的系统也是能正常使用的。
想让WindowsXP正常使用,从Windows2003里复制一个到WindowsXP里就可以了。一定要是Windows2003的。其他系统里的不行。
- C# 管理远程桌面
- 远程桌面管理
- 利用远程桌面管理WindowsServer2003
- linux远程桌面管理VNC
- linux远程桌面管理VNC
- [windows]远程桌面用户管理
- c#远程桌面开发
- C#使用RDP远程桌面
- Win2003远程桌面管理小窍门
- 解除Server2008远程桌面管理关卡
- windows 远程桌面的session管理
- windows远程桌面管理CentOS 6.4
- windows远程桌面管理CentOS 6.4
- C#调用spicec实现远程桌面
- C#实现远程桌面自动登录
- 远程桌面控制台,有标签页可以管理多个远程桌面
- 学习ubuntu远程桌面(二):远程桌面会话管理(转)
- 让远程桌面管理恢复顺畅稳定
- 检测点9.1
- String,创建对象问题
- 802.11ax前瞻3:上行随机接入(TF,TF-R)
- (转)mongoDB 禁用大内存页面 transparent_hugepage=never
- JVM 简单入门 简单结构介绍
- C# 管理远程桌面
- 【JZOJ3806】小X 的道路修建
- 【TaoTao】Nginx+FastDFS实现图片上传功能
- 起点:如何成为一名黑客?
- fragment+viewpager+tab(PagerSlidingTabStrip)
- 使用Hudson进行持续集成
- 数据结构:平衡二叉树(AVL树)
- 剑指offer——左旋转字符串
- 舒服