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

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

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

本文不装逼,只讲干货。希望作为系统工程师或者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月底才写。对不住了各位。

微软云方案高端顶级群【236804566】分享成就牛B之路

欢迎关注新浪微博 @肥九叔

时间: 2024-08-03 21:25:34

PowerShell学习的一小步,工作的一大步的相关文章

PowerShell 学习笔记5

可重用的远程管理会话: TCP Joke: ICM进行的会话在结束之后,会话在目标计算机上进行的会话就全部销毁了. 建立Session与查看Session $Session = New-PSSession –computerName dc Get-PSSession icm –session $sessions {$var =2} 这个$Session可以被重用(Powershell V3) 测试脚本执行时间: Measure-Command { scriptblock} 重用Session的脚

学习是为了找工作?

学历和工作有多大关系? 看多了高学历的人找不到工作,从而开始抱怨上学抱怨社会抱怨太多太多.高学历和失业联系在一起,你想到了什么?可能是很多学历偏低的人不排斥低价的体力劳动从而容易找个凑合的工作,再者就是高学历找不到工作比低学历找不到工作更容易让人产生心理落差,还有很多原因造成了现在大多数人把目光聚焦在了高学历低就业的问题上.失业的人无处不在,学历低并不代表他就有工作.因此对于找不到工作的学霸学渣们,只能仰天长叹:唉!找不到工作和学历有什么关系. 然而现在的问题是没有学历,很多工作你连面试的资格都

零基础学习hadoop到上手工作线路指导(编程篇)

问题导读:1.hadoop编程需要哪些基础?2.hadoop编程需要注意哪些问题?3.如何创建mapreduce程序及其包含几部分?4.如何远程连接eclipse,可能会遇到什么问题?5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章零基础学习hadoop到上手工作线路指导(初级篇) 零基础学习hadoop到上手工作线路指导(中级篇)如果看过的话,看这篇不成问题,此篇讲hadoop编程篇. hadoop编程,hadoop是一个Java框架,同时也是编程的一次革命,使得传统开发运

零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结. 五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为 mapreduce与hdfs其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑. 我们不知

零基础学习hadoop到上手工作线路指导

问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章 零基础学习hadoop到上手工作线路指导(初级篇) http://www.aboutyun.com/thread-6780-1-1.html 零基础学习hadoop到上手工作线路指导(中级篇) http://www.aboutyun.c

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为mapreduce与hdfs 其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑.我们不知道ke

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce(转)

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce:http://www.aboutyun.com/thread-7567-1-1.html mapreduce学习目录总结 MapReduce学习指导及疑难解惑汇总:http://www.aboutyun.com/thread-7091-1-1.html 什么是Map/Reduce:http://www.aboutyun.com/thread-5541-1-1.html Mapreduce 整个工作机制图:http://

PowerShell 学习笔记——PS On MacOS

? PowerShell 学习笔记--PS On MacOS ? I remember that there is a command line tool on Mac OS X using for connecting to Microsoft Azure.  But now, Microsoft is developing MacOS version PowerShell – PowerShell for MacOS v6.0 alpha.  Let's see it. 1. Downloa

Powershell使用真实的对象工作

Powershell使用真实的对象工作 来源 https://www.pstips.net/powershell-work-with-reallife-objects.html 每一个Powershell命令都会返回一个对象,但是返回的对象不易操作,因为控制台解释器会自动将对象转换成可视的文本,这样就会丢失绝大多数对象的信息. 在变量中存储结果 不要将结果在控制台输出可以防止对象转换成文本.控制台是一个不安全的地方,任何对象输出后都会自动转换成文本,最安全的方式是将对象保存在变量中.如果想将对象