我有自己的dotNET服务在系统和GUI应用程序中运行,需要以本地系统帐户执行某些操作。例如,运行以GUI格式编写的cmd脚本,然后启动cmd.exe进程,并重定向stdin / stdout。应用程序应该能够以普通用户身份运行(没有管理员权限)。服务和应用程序都应该用dotNET framework 2.0版编写。
是否可以将当前的WindowsIdentity从服务传递到应用程序,因此启动cmd或执行其他任务的线程可以冒充本地系统帐户?否则,在dotNET 2.0中将命令从应用程序传递到服务的最佳方法是什么?这可以在不使用全局命名对象的情况下完成吗?