用于执行PowerShell脚本的简单HTTP API

HTTP之上的REST和类REST接口近来非常流行。不久之前我们曾报道过,Oracle发布了一个针对MySQL的、基于HTTP的API原型。正式版本还没出来,微软的Steve Lee就在“用于执行PowerShell脚本的简单HTTP API”一文中发布了通过HTTP 执行PowerShell的示例代码。

这并非PowerShell的第一个远程接口,它是通过PowerShell远程处理协议(PowerShell Remoting Protocol,PSRP)实现的。但是该协议是为Windows机器上的PowerShell控制台设计的;与HTTP不同,PSRP无意成为运行在任何操作系统上的任何程序的编程访问接口。

这个API本身就是一个PowerShell脚本,所以要修改功能,只需要修改这个脚本,无需编译。

这个脚本内部使用了System.Net.HttpListener。安全方面,默认使用的是集成的Windows身份验证(Integrated Windows Authentication),但是可以在命令行中覆盖掉这一设置。示例代码中并没有介绍SSL的使用,但如果非常熟悉如何结合使用SSL认证和HttpListener类,实现起来非常容易。

更重要的是,对编写PowerShell 模块而言,这是一个很棒的教程。包括注释和空行在内,不足300行代码,很容易理解。

查看英文原文:Written in PowerShell, a HTTP API for Executing PowerShell Scripts

你可能感兴趣的:(用于执行PowerShell脚本的简单HTTP API)