千家信息网

Html+JS+PowerShell打造Web版AD管理系统(二)

发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,最近发现gihub上早已有人把powershell的restful webapi做好了,而且是自宿主的owin。比上次用到的httplistener健壮许多。貌似还是支持job,runspace的。h
千家信息网最后更新 2024年09月23日Html+JS+PowerShell打造Web版AD管理系统(二)

最近发现gihub上早已有人把powershell的restful webapi做好了,而且是自宿主的owin。比上次用到的httplistener健壮许多。貌似还是支持job,runspace的。
https://github.com/DimensionDataCBUSydney/PowerShell.REST.API

过程其实比较简单,html不用变,js只需要把拼装webapi url的地方修改下就好,后台的powershell webapi整个替换掉就ok了。

下载源码,直接生成即可。我用的vs2017。然后就可以直接使用了,唯一的问题就是跨域。

一开始在jquery.ajax用jsop,但debug的响应里能看到返回的json对象,可是ajax就是接收不到,也就无法在页面显示,而且console.log(返回的json对象);里面完全没有responseText

网上搜的大部分都没什么用。

前端不行那就只好改后端了。主要是不想修改人家已经成熟的代码,怕会有问题发生,但没办法。
经过一番研究,最终确定,要在owin中加入跨域的代码:
1.安装 Microsoft.AspNet.WebApi.Cors
2.DynamicPowerShellApi.Owin的Startup.cs 加入 using System.Web.Http.Cors;
3.line116处加入跨域配置 config.EnableCors(new EnableCorsAttribute("", "", "*"));

然后重新生成,就可以了,多了10个警告回头再说- -~,经过测试,跨域问题解决。页面可以正常显示。

今天发现中文无法显示,原来PowerShellRunner.cs的Line123中
? Regex.Replace(psOutput.LastOrDefault().ToString(), @"[^\u0000-\u007F]", string.Empty) 用正则匹配了所有的非拉丁字符并替换成空,会导致英文以外的文字都无法输出。

解决办法改正则
例如 ? Regex.Replace(psOutput.LastOrDefault().ToString(), @"", @"") 什么都不替换就是了

后端基本就是这个样子了,如果大家有更好的方案可以交流下。
至于前端,用了下vue,感觉还是很不错的。组件化真的挺方便。

就是 问题 代码 前端 办法 对象 正则 还是 页面 生成 不行 不错 健壮 成熟 没什么 不用 后台 地方 大部分 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 现代信息技术数据库技术 建设网络安全通报机制 电商系统软件开发工具的选择 web服务器需求分析 电子发票登录显示连接服务器失败 恩度网络技术有限公司 青阳自动化软件开发服务生产过程 绵阳网络软件开发技校 广州一微互联网科技有限公司 嵌入式软件开发和互联网 治安管理处罚法关于网络安全条文 找回软件开发的人 方舟集群服务器 密码 软件开发信息安全管理制度 网络安全越来越重要 新华三属于国产服务器吗 计算机应用数据库管理 徐州个人软件开发销售 收费的软件开发视频 访问服务器d盘 博为峰软件开发 云服务器下能安装虚拟机吗 阿里妈妈网络技术有限公司 网络安全广告谚语 迷你世界如何更新服务器配置 数据库数据按照时间筛选数据 数据库查询不在范围内 搞软件开发的基础视频教程 网络技术员工作经验 wicc数据库移植失败
0