Windows服务:开篇

【注意下面两个对象的区别PowerShellweb版Powershell

最近学了不少东西,都是因为需要才学的,比如服务器管理用Powershell,我整出了一个web版PowerShell管理工具。某些语句无法使用web版的powershell执行,比如下面:

wmic PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1 试了用纯Powershe ll也无法执行。

将上面的wmic 做成一个bat文件,使用纯PowerShell链接远程服务器能执行这个bat文件,但不能实现我的需求,因为我是要在web版powershell实现这项功能,即便实现了,也需要程序池中使用系统账户运行(System),很不安全,等于整个项目都用系统账户运行。这时候想到了一个办法,创建一个windows服务,在服务器启动的时候执行这个bat文件,而且还能在web系统中管理这个服务。


确定使用windows服务的理由

可能还有其他办法能曲折的实现我的需求,但使用windows服务应该是最理想的办法,毕竟管理服务器是一个系统工程,不是单一项工具或纯web管理就能完成各项操作,这里涉及到安全、性能方面。   除非你励志做黑客:只要能黑进服务器,其他什么都不管

Visual Studio创建windows服务

vs解决方案-添加-新建项目-windows服务
Windows服务:开篇_第1张图片
打开里面的cs文件,里面的class继承了ServiceBase类,各种方法都看起来好熟悉啊,对了,就是  ServiceController 类使用了这些方法控制系统服务
Windows服务:开篇_第2张图片
接下来的任务就是写事件代码、服务执行逻辑、服务安装、启动命令、安装、卸载等操作。最后也是很重要的就是在不同系统下面测试使用

你可能感兴趣的:(Windows服务)