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

发布于 2016-05-10  1309 次阅读


现在标题不起的应景,基本就没有访客和流量了。本文首发盆盆的公众号,可以转载,但需要注明出处和作者九叔

本文提到了盆盆的公众号,因为源代码也在那里发布。

本文不装逼,只讲干货。希望作为系统工程师或者ITPro的你,加入到学习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 的方式运行。

工具是农历年之前就做好的,但是文章到3月底才写。对不住了各位。

原创文章,转载请注明: 转载自奶油九叔

本文链接地址: PowerShell学习的一小步,工作的一大步