Html+JS+PowerShell如何打造Web版AD管理系统

技术Html+JS+PowerShell如何打造Web版AD管理系统这篇文章主要介绍Html+JS+PowerShell如何打造Web版AD管理系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!利

本文主要介绍了Html JS PowerShell如何构建一个Web版的AD管理系统。很详细,有一定的参考价值。感兴趣的朋友一定要看完!

用Flask调用Powershell API实现运维管理系统。

其实原理是一样的,主要是使用Django/Flask框架,Bootstrap作为前端,然后后台python调用PowerShell API实现查询。

但是后台同时有powershell和python,这让我很不爽。我只想用PowerShell,所以我有下面的折腾。

前往演示Html+JS+PowerShell如何打造Web版AD管理系统

首页是一个简单的html。为了好看,使用了引导框架。

Bootstrap-table用于通过表格显示查询到的数据,还具有导出、排序和分页功能。

事件控制:jquery、ajax

是后台PowerShell实现的API。网上有很多。我在豆豆的博客中尝试了HttpListener的模块,以及微软员工制作的web框架https://github.com/PowerShell/Polaris。没有问题。应该是PowerShell的Web框架。

1.在后台执行PowerShell

import-modulec : \ users \ yuan . Li \ Documents \ GitHub \ Powershell \ httplistener . PS m1

start-httplistener-verb-authnone-port 8888注意:我对HTTPListener.psm1的内容做了一些更改,以避免跨域限制。

#区域跨域

$回应。AddHeader('访问控制-允许-来源',' * ');

$回应。添加标题(“访问控制-允许-标题”、“身份验证”);

$回应。AppendHeader('访问控制-允许-头','原始,无缓存,X-请求-有,如果-修改-自,Pragma,上次修改,缓存控制,过期,内容类型,X-E4M-有');

#endregion跨域未被很好地理解。我在网上找到的,直接贴上去,但是真的很管用。

2.没有python和flask/django框架,所有控件都由JS实现。

首先,使用Geturl()拼接powershell调用的url。

var $ PS webpai=' http://10 . 128 . 9/?命令='

//构建WebapiURL

functionGetURL(选项){ 0

//切换网址

开关(选项){ 0

案例“邮件”:

var $ cmdlet=' Get-ADUser-Filter * | selectName,SamAccountName,user principalname | Where-Object { $ _。UserPrincipalName-ne$null}”

打破;

(=NationalBureauofStandards)国家标准局

p;   case "computer":
            var $cmdlet = "Get-ADComputer -Filter * -Property name,DNSHostName,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion"
            break;
    }
    var $url = $pswebpai + $cmdlet
    //alert($url)
    return $url
}

然后,用ajax实现异步执行

    //当点击查询按钮的时候执行  
    $QueryButton.click(function () {
        //获取下拉菜单值
        var option = $("#myselect").val();
       var $url = GetURL(option);
        $.ajax({
            url: $url,
            dataType: 'json',
            contentType: 'application/json',
            charset: 'UTF-8',
            success: function (result) {
                console.log("Success");
                //console.log(result);
                CommonTableInit(option, result); //初始化表格的函数
            },
            error: function (result) {
                alert("error!");
            }
        });
    });

这样一个Web查询功能就实现了。而且不用装python,flask\django框架了,部署的话也很简单,直接挂个地址就好了。(flask版试了在IIS下部署,没成功- -~)
后续还可以扩展增删改查功能。
目前唯一的问题就是HTTPListener有时查询会报错退出,估计换个健壮点的PowerShell Web框架就可以了。
Html+JS+PowerShell如何打造Web版AD管理系统
其他思路:
1.完全用PowerShell Web框架去实现。
2.dotNet Core Web应用,生成exe格式的自托管console应用程序,直接双击执行。(WebAPI,C#调用powershell)

×××链接:
http://down.51cto.com/data/2441697

跨域这块儿一直没搞明白,用jsonp的话,debug的响应里能看到返回的json对象,但是console.log(返回的json对象);的话,则看不到任何返回的json对象数据,ajax的回调函数也没有接收到json对象,感觉就好像而是直接被浏览器接收了。。。换了好几个powershell WebAPI都是这个问题。直接访问powershell webapi也都是有数据的。
Html+JS+PowerShell如何打造Web版AD管理系统Html+JS+PowerShell如何打造Web版AD管理系统

以上是“Html+JS+PowerShell如何打造Web版AD管理系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/114459.html

(0)

相关推荐

  • 清朝统治多少年,明朝和清朝各存在了多少年

    技术清朝统治多少年,明朝和清朝各存在了多少年明朝(1368年―1644年)是中国历史上最后一个由汉族建立的大一统王朝清朝统治多少年,共传十六帝,享国二百七十六年。一、太祖元璋,洪武,在位3l年。二、惠帝允炆,建文,在位

    生活 2021年10月28日
  • SpringBoot中的Bean初始化方法是什么

    技术SpringBoot中的Bean初始化方法是什么本篇内容介绍了“SpringBoot中的Bean初始化方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年11月29日
  • 判断xml节点是否有属性(xml判断节点属性名是否存在)

    技术如何浅析XML节点类型种类及作用这篇文章将为大家详细讲解有关如何浅析XML节点类型种类及作用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当将XML文档作为节点树读入

    攻略 2021年12月19日
  • 生物笔记1

    技术生物笔记1 生物笔记1走进细胞所有图片均来自于网络(维基百科)。一切动植物由细胞 和细胞产物 构成。
    发菜属于蓝细菌。
    除了支原体外,原核细胞都有细胞壁。
    关于细胞壁的成分,对于真菌,主要由壳多糖和

    礼包 2021年11月1日
  • Spring源码中的配置文件分析

    技术Spring源码中的配置文件分析本篇内容介绍了“Spring源码中的配置文件分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月15日
  • 正三棱柱的性质,什么叫直三棱柱,什么叫正三棱柱

    技术正三棱柱的性质,什么叫直三棱柱,什么叫正三棱柱直三棱柱是各个侧面的高相等,底面是三角形,上表面和下表面平行且全等,所有的侧棱相等且相互平行且垂直于两底面的棱柱。上下表面三角形可以是任意三角形。正三棱柱是直三棱柱的特殊

    生活 2021年10月30日