如何在不同于 IIS 服务器的服务器上调用 Windows 计划任务或批处理文件
我有一个 asp.net 网站,我希望该网站上的页面能够调用 Windows 计划任务或不同于 IIS 服务器的服务器上的批处理文件?
是否可以? 我该怎么做?
I have a asp.net web site, I would like a page on that site to be able to invoke a Windows Scheduled task or a batch file on a server different to the IIS server?
Is it possible?
How should I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单的方法是在需要运行计划任务/批处理文件的服务器上放置一个 Web 服务(我们将其称为 SERVER1)。该服务应该有一个方法来调用计划任务/批处理文件(我们将此方法称为 Invoke)。
然后,从另一台服务器 (SERVER2) 上的 asp.net 网站,我们将添加一个链接以在 SERVER1 上运行我们的方法,http://SERVER1/YourWebService.asmx/Invoke。
对我来说,这将是从外部实体(在您的例子中是 asp.net 网站)操作 SERVER1 的最简单方法。
注意:您的 Web 服务调用计划任务和运行批处理文件时可能会遇到安全问题。我相信这是可以做到的,但您可能需要使用您的 .Net 权限设置。
Simplest way would be to place a Web Service on the server that needs to run the scheduled task/batch file (we'll call this SERVER1). That service should have a method that will invoke the scheduled task/batch file (we'll call this method Invoke).
Then from the asp.net web site on the other server (SERVER2), we'll add a link to run our method on SERVER1, http://SERVER1/YourWebService.asmx/Invoke.
To me this would be the easiest way to manipulate SERVER1 from an outside entity (In your case an asp.net web site).
Note: You may run into security issues with your Web Service invoking scheduled tasks and running batch files. I believe it can be done, but you may need to play with your .Net permission settings.
尝试 PsExec。它是 Microsoft 的一款免费工具,可让您远程执行流程。
确保检查 Sysinternals Suite 中的所有其他工具;里面有一些非常好的东西。
Try PsExec. It's a free tool from Microsoft that will let you execute processes remotely.
Make sure to check out all the other tools in the Sysinternals Suite; there's some really good stuff in there.