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)

相关推荐

  • C# 和 Python 的 hash_md5加密方法是什么

    技术C# 和 Python 的 hash_md5加密方法是什么这篇文章给大家介绍C# 和 Python 的 hash_md5加密方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、C# 和

    攻略 2021年11月9日
  • 鲫鱼的做法大全家常菜,鲫鱼怎么做好吃

    技术鲫鱼的做法大全家常菜,鲫鱼怎么做好吃鲫鱼豆腐汤鲫鱼的做法大全家常菜:材料:
    鲫鱼1条、豆腐1盒、姜3片、葱3段、油、盐、胡椒、料酒、鸡精做法:
    1、鲫鱼开膛去内脏,去鳞去鳃(鱼档工作人员完成),洗净,抹干,用盐和

    生活 2021年10月20日
  • 张字组词有哪些,第二个字是“张”字的成语有哪些

    技术张字组词有哪些,第二个字是“张”字的成语有哪些大张其词 张字组词有哪些;大张旗鼓 ;大张声势 ;大张挞伐 ;东张西望 ;范张鸡黍 ;急张拘诸 ;铺张浪费 ;铺张扬厉

    生活 2021年10月26日
  • 为什么Java中要求超大整数禁止使用Long类型返回

    技术为什么Java中要求超大整数禁止使用Long类型返回本篇内容主要讲解“为什么Java中要求超大整数禁止使用Long类型返回”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“为

    攻略 2021年10月28日
  • JVM的艺术之如何使用类加载器

    技术JVM的艺术之如何使用类加载器这篇文章主要讲解了“JVM的艺术之如何使用类加载器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JVM的艺术之如何使用类加载器”吧!正式

    攻略 2021年10月23日
  • hear的意思,hear的过去式是什么

    技术hear的意思,hear的过去式是什么hear是不规则动词hear的意思。过去式,过去分词都是heard,过去式表示过去某个时间里发生的动作或状态,过去分词无实际意思。hear读音:英[hɪə(r)] 美[hɪr]

    生活 2021年10月23日