我只需要一个简单的静态.html页面表单,POST到Powershell脚本。
我已经看过很多Powershell Invoke-WebRequest cmdlet材料,但是Powershell总是在启动HTTP请求(然后处理HTTP响应......)。
谢谢!
答案 0 :(得分:0)
简短的回答是,您无法直接POST到PowerShell脚本。当您向网站发送POST时,您将向Web服务器传递参数,然后将其呈现给Web服务器能够执行的Web服务器上的代码(POST请求的目标)。 Web服务器不了解PowerShell(除非Microsoft实现了这一点,一些快速谷歌表示他们没有实现)。
话虽这么说,您的最终目标可能是您希望通过PowerShell脚本使用从表单中获取的数据。您需要在Web服务器上实现后端以使用POST请求并将其传递到操作系统级别以通过PowerShell运行。这通常不是一个好主意,但如果你是为内部网站做这件事来快速运行,那么就这样吧。
以下是从ASP.Net调用Powershell脚本的过程:http://jeffmurr.com/blog/?p=142
您可以通过许多其他方式解决此问题。您可以编写后端站点以将POST请求中的数据保存到文件中,然后使用PowerShell按计划解析该文件。您可以在同一庄园中使用数据库,也可以在数据库中创建一个触发器,以便在每次附加行时运行该脚本。
我怀疑如果你在其中一个路径上工作,你最终会发现你在后端使用的技术(如ASP.Net或PHP或JavaScript)能够完成你需要完成的工作,你会如果你坚持使用其中一个,那么移动部件就会少得多。不要害怕学习新东西。从PowerShell跳转到JavaScript并不困难。
世界变得快速。这是PowerShell中类似NodeJS的Web服务器实现。
https://gallery.technet.microsoft.com/scriptcenter/Powershell-Webserver-74dcf466