PowerShell学习的一小步,工作的一大步

简介:

我们通过PowerShell来做一个小程序。实现什么功能呢?我们用它来查看Windows的计划任务。完成计划任务的一些常见运维操作。

首先我们看看操作界面,如果对这个界面都不满意,那基本就不要往下看了。PowerShell做出来的图形化程序,标准造型都是这个样子的,有变化,但是不会太多。(如果想要更加个性化的,定制化图形界面,也可以,但是这属于UI和美工的工作了,我相信多数人不能胜任)

PowerShell的图形工具,用什么开发?

首先我们要介绍一下今天所用到的开发工具 PowerShell Studio 2015 ,这是除了ISE之外,我用的另一个开发工具。和ISE相比,它写图形界面非常简单。所做的基本就是拖拽一下控件就可以了。在微软的脚本库里面,也有不少的作者是用这个工具做的开发。而且它上手非常简单。如果是写PowerShell,同时想写图形化程序。那么PowerShell Studio 2015是最好的选择,没有之一。

PowerShell为什么要写图形化工具

我想大家都知道,在企业中,作为一个小工程师,你不是一个人在战斗,你会遇到很多人很多事。如果你只能写命令行的脚本完成工作,当然也可以。但是要知道更多的人是不懂这些的,它们需要简单的工具去完成基本工作,所以,写个图形化工具可以帮助你提升自己的社会地位。”人被需要才有价值”

项目背景:做这个工具的时候,起因很诡异。那是因为我有一台Windows 8的电脑做文件服务器。用Windows8做文件服务器是个很简单的工作,但是问题也有。那就是磁盘动不动就转,导致我担心硬盘寿命,同时对于噪音也比较讨厌。

所以最初的目的,我只是想优化一下系统,解决Windows8没事老读取磁盘的问题

你看,需求就是这么奇葩。在盆盆的群里面也大概了解了一些方法,无外乎停止一些服务,处理一些计划任务。

但是新的问题来了,Windows8的计划任务远比你想象的要多。如果你想每一个计划任务都看一下,学习一下,很明显这样鼠标一步步的点过去就消耗掉所有的耐心。

这个工具写起来不是太复杂,我感觉我的效率比较低,大概用了不到一天时间。

项目目标:因为以上原因,我做了这个小工具,目标也很明确

  1. 针对特定的几个服务,也就是让Windows8硬盘不停读取的服务,我设置一些按钮,一键关闭。

  2. 能够列表所有计划任务,我需要在一个视图中展示所有数据,这一点是微软原装MMC所没有的功能。

  3. 可以单选、多选删除不需要计划任务。或者禁用它

我觉得程序作为图形化入门还是不错的,整体只有278行。同时我也会提供原始的代码。方便大家学习。

注意的细节:

200行总不能一行行介绍,在阅读代码之前,需要你对PowerShell有一定了解,或者能够看懂PowerShell。毕竟PowerShell的图形化,前提是PowerShell。

对了,在窗体的load中,我们设置下面这条语句,可以解决在运行ps1文件时执行权限不足的问题,这种设置有一定风险,但是比较简单。大家可以尝试一下。

举个栗子:

比如这个一键关闭xxx,界面是这样的,作用是点击一个按钮,实现多种功能。


在PowerShell Studio 中,我们双击superfetch按钮,就可以进入到这个按钮的”点击”后的动作。这里可以针对点击”superfetch”按钮后所进行的操作进行配置。

可以看到,这里的一键关闭服务。只是两条cmd命令。在PowerShell中调用CMD命令,需要使用 cmd /c 的方式运行。



本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1771692,如需转载请自行联系原作者

相关文章
|
3月前
|
存储 Ubuntu Linux
windows可以安装Ubuntu,ubuntu上也可以安装Powershell
powerhsell除了可以在windows上使用外,还可以在Ubuntu上部署开发环境。下面介绍Ubuntu上安装powershell的方法。
51 0
|
5月前
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
51 0
|
8月前
|
JavaScript Windows
[Vue]解决 Windows PowerShell 不识别 vue 命令的问题
[Vue]解决 Windows PowerShell 不识别 vue 命令的问题
|
8月前
|
Windows
使用PowerShell获取Windows当前锁屏壁纸
使用PowerShell获取Windows当前锁屏壁纸 如果原始图片丢了,用这段代码就可以提取当前锁屏壁纸了!
101 0
|
应用服务中间件 nginx Windows
Windows PowerShell 中启动 Nginx 报错解决方案
Windows PowerShell 中启动 Nginx 报错解决方案
Windows PowerShell 中启动 Nginx 报错解决方案