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)

相关推荐

  • Docker的相关知识点有哪些

    技术Docker的相关知识点有哪些这篇文章主要讲解了“Docker的相关知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker的相关知识点有哪些”吧!一、

    攻略 2021年12月13日
  • 绩点换算,5分制绩点怎么换算成百分制

    技术绩点换算,5分制绩点怎么换算成百分制您好绩点换算,澳大利亚留学研究生申请条件:国内211大学,大学平均成绩75分以上;非211大学,平均成绩80分以上;目前八大里的西澳大学,阿德莱德大学都是算加权平均分,不算马哲或者

    生活 2021年10月23日
  • 泰山海拔高度,泰山的主峰到底有多高啊

    技术泰山海拔高度,泰山的主峰到底有多高啊泰山的主峰是玉皇顶泰山海拔高度,高度海拔1532.7米。玉皇顶,是泰山主峰之巅,因峰顶有玉皇庙而得名。玉皇顶旧称太平顶,又名天柱峰,始建年代无考,明成化年间重修。神龛上匾额题“柴望

    生活 2021年10月22日
  • XMLHttpRequest中fetch_ajax请求的新写法是什么

    技术XMLHttpRequest中fetch_ajax请求的新写法是什么这篇文章主要讲解了“XMLHttpRequest中fetch_ajax请求的新写法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小

    攻略 2021年11月5日
  • css如何写文字投影

    技术css如何写文字投影这篇文章主要介绍“css如何写文字投影”,在日常操作中,相信很多人在css如何写文字投影问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何写文字投影”的疑惑有

    攻略 2021年11月10日
  • 造纸术是哪个朝代发明的,纸的发明经历了哪四个时间段

    技术造纸术是哪个朝代发明的,纸的发明经历了哪四个时间段上古时代祖先主要依靠结绳记事,以后渐渐发明了文字,开始用甲骨来作为书写材料。后来又发现和利用竹片和木片(即简牍)以及缣帛作为书写材料。但由于缣帛太昂贵,竹木太笨重,于

    生活 2021年10月30日