webservice调用一个服务器端exe,这个exe需要很高的权限才能运行,能做到吗?

时间:2023-01-27 13:41:45
webservice调用一个服务器端exe,这个exe是给服务器上某个文件夹设置访问权限,不知道能不能做到,或者那个大侠提供一个思路。谢谢了

8 个解决方案

#1


参考:  System.Diagnostics.Process.Start not work fom an IIS
可以在服务中调用System.Diagnostics.Process.Start启动程序。
关于需要使用不同的Windows账户(IIS默认使用ASP.NET账户)运行程序,可以下载我从上面网页介绍的文章中下载并上传的代码(0资源分)
从Windows服务中使用不同账号启动进程

#2


如果你需要获取启动进程的输入输出信息,可以参考
System.Diagnostics.Process: redirect StandardInput, StandardOutput, StandardError(英文)
虽然是VB写的,但是应该可以很容易转为C#。

#3


webservice不是被调用的么?
你是想通过webservice去启动一个服务器上的exe吧?
这个webservice也在服务器上的话,没问题吧

#4


引用 3 楼 FoxDave 的回复:
webservice不是被调用的么?
你是想通过webservice去启动一个服务器上的exe吧?
这个webservice也在服务器上的话,没问题吧


启动这个exe没有问题,但是运行到给文件夹分配权限时崩了,提示我“该进程不具有执行此操作所需的“SeSecurityPrivilege”特权。”

#5


引用 1 楼 save4me 的回复:
参考:  System.Diagnostics.Process.Start not work fom an IIS
可以在服务中调用System.Diagnostics.Process.Start启动程序。
关于需要使用不同的Windows账户(IIS默认使用ASP.NET账户)运行程序,可以下载我从上面网页介绍的文章中下载并上传的代码(0资源分)
从Windows服务中使用不同账号启动进程


正在研究

#6


#8


引用 7 楼 FoxDave 的回复:
看看这个有用没


多谢啊,就是参照微软的建议,把var ds = dir.GetAccessControl(AccessControlSections.All);改成var ds = dir.GetAccessControl(AccessControlSections.Access);通过了。

#1


参考:  System.Diagnostics.Process.Start not work fom an IIS
可以在服务中调用System.Diagnostics.Process.Start启动程序。
关于需要使用不同的Windows账户(IIS默认使用ASP.NET账户)运行程序,可以下载我从上面网页介绍的文章中下载并上传的代码(0资源分)
从Windows服务中使用不同账号启动进程

#2


如果你需要获取启动进程的输入输出信息,可以参考
System.Diagnostics.Process: redirect StandardInput, StandardOutput, StandardError(英文)
虽然是VB写的,但是应该可以很容易转为C#。

#3


webservice不是被调用的么?
你是想通过webservice去启动一个服务器上的exe吧?
这个webservice也在服务器上的话,没问题吧

#4


引用 3 楼 FoxDave 的回复:
webservice不是被调用的么?
你是想通过webservice去启动一个服务器上的exe吧?
这个webservice也在服务器上的话,没问题吧


启动这个exe没有问题,但是运行到给文件夹分配权限时崩了,提示我“该进程不具有执行此操作所需的“SeSecurityPrivilege”特权。”

#5


引用 1 楼 save4me 的回复:
参考:  System.Diagnostics.Process.Start not work fom an IIS
可以在服务中调用System.Diagnostics.Process.Start启动程序。
关于需要使用不同的Windows账户(IIS默认使用ASP.NET账户)运行程序,可以下载我从上面网页介绍的文章中下载并上传的代码(0资源分)
从Windows服务中使用不同账号启动进程


正在研究

#6


#7


#8


引用 7 楼 FoxDave 的回复:
看看这个有用没


多谢啊,就是参照微软的建议,把var ds = dir.GetAccessControl(AccessControlSections.All);改成var ds = dir.GetAccessControl(AccessControlSections.Access);通过了。