如何为PowerShell脚本制作HTML GUI?

时间:2016-03-16 11:55:58

标签: html powershell frontend

我有一个用于制作新AD客户端和Google邮件的自动化脚本。 我想为此创建一个Web UI(HTML& CSS),这样我的团队就可以登录到这个页面并从你的任何地方创建。

我该怎么做?

是否有关于使HTML页面连接到PowerShell脚本的指南?

5 个答案:

答案 0 :(得分:0)

您对VBScript和/或JavaScript使用HTML GUI(HTA)。对于PowerShell,您使用Windows Forms

Add-Type -AssemblyName System.Windows.Forms | Out-Null

$form = New-Object Windows.Forms.Form
$form.AutoSize = $true
$form.AutoSizeMode = 'GrowAndShrink'

$form.Text = 'Window Title'

$label = New-Object Windows.Forms.Label
$label.Text = 'some text'
$label.AutoSize = $true
$form.Controls.Add($label)

$form.ShowDialog()

答案 1 :(得分:0)

最简单的可能是使用像Jenkins这样提供前端并且已经有auth插件的软件包,并且也可以运行powershell。

https://jenkins-ci.org/

有一个用于运行powershell的插件。 https://wiki.jenkins-ci.org/display/JENKINS/PowerShell+Plugin

如果需要,您甚至可以将其绑定到Active Directory。 https://wiki.jenkins-ci.org/display/JENKINS/Active+Directory+plugin

答案 2 :(得分:0)

您可以使用System Frontier自动为PowerShell脚本生成Web前端。无需HTML或服务器端编程。您只需创建自定义字段并将其分配给命令行参数。

您还可以在脚本前面使用访问控制层,以便非管理员可以使用管理员权限安全地运行脚本。还会记录脚本输出以进行审计和数据挖掘。

答案 3 :(得分:0)

(许多)选项之一是让Powershell托管您的HTML。使用 System.Net.HttpListener 网络侦听器,并根据您想要提供的内容回答请求。

有一篇有关使用Powershell构建Web服务器的文章:
https://4sysops.com/archives/building-a-web-server-with-powershell/ https://www.powershellgallery.com/packages/HttpListener/1.0.2/Content/HTTPListener.psm1

当您对数据发出的通知进行如此低级的控制时,可以将HTML的功能运用到powershell中。

现在,尽管这很适合您的问题,但是这非常复杂(任何时候您必须同时使用多种语言进行开发-HTML,Powershell,也许是Javascript等),它会很快变得复杂。 / p>

我的建议是确保您确实需要建筑物中基于Web的应用程序。

如果您只想要GUI(而不是Web),那么使用其他一些答案的.NET表单功能,此任务将容易得多。

powershell画廊链接实际上包含功能强大的Powershell Web服务器脚本,该脚本原本不到175行(加上注释)最初是在2014年由Microsoft编写的。

(Microsoft代码在移动URL的情况下称为HTTPListener.psm1,因此可以在网络引擎搜索中找到它)

答案 4 :(得分:0)

无耻的插件,但我最近发布了一个基于 .NET5 的开源 Web 应用程序,您可能想查看它,名为 SpecOps。它旨在让非技术用户能够通过基于 Web 的 GUI 运行 powershell 脚本。您可以在 json 配置文件中定义脚本及其输入参数,然后它会即时为您的用户构建 GUI。