网页版PowerShell for windows server 2003,为了实现我的终极功能:web页面控制远程桌面。
中间绕了各种路子、使用了各种技术、数次半夜惊醒起来写代码、不少于300次的测试.....最终搞定了
心酸的过程
在百度各种搜索、csdn各种搜索、博客园各种搜索、红黑网各种搜索、谷歌各种搜索.都没有直接的办法和源码,只能自己动手了
安装powershell2.0 到服务器。本地的某些脚本放在服务器里面无法执行,只能写到批处理文件,调用Process类执行,通过下面几个方法以及N次测试:
1.页面文件发布到IIS运行---无法直接调用bat文件,不通过
2.为了测试,给匿名账户添加超级管理员权限,不通过,事实也证明,这个办法简直是让服务器自杀
3.web.config添加
4.iis应用程序池,标示使用自定义账户和本地系统账户,不通过
5.process配合cmd.exe执行bat脚本或者直接执行命令,不通过
接下来,换另外个思路
6.使用windows服务:仅仅在启动自定义服务时候能通过,关闭自定义服务时候不通过,功能实现一半,难产了
将编写的服务安装在win server系统,于是修修改改了不少于几十次次,每次都要安装卸载服务,十分的繁琐,而且都没实现我的需求,但中间发了个帖子,论坛上的人给一个很好的建议:编写windows服务器时候可以将逻辑代码写在另外的工程项目,比如放在业务逻辑层BLL,只要在windows服务项目里面调用BLL的方法即可。因为windows服务项目测试是个麻烦事,所以在将逻辑代码写在BLL,即便逻辑代码改变,也无需卸载服务,直接将BLL生成的dll文件覆盖几个,本地还能用控制台测试做测试,简直是两全其美的事情。以后的asp.net、MVC程序都可以这样测试逻辑代码
7.历经各种曲折,终于实现了,与第5个类似,不过不是使用cmd.exe,而且调用Powershell.exe + cmdlet命令
小结