您的当前位置:首页正文

Powershell学习之路01-引子

来源:华拓网

2018年4月16日 星期一

07:43

早就想开展这个工作了,因为前不久SA有一个Windows计划任务的监控需求,需要从各个版本的Windows中采集计划任务。任务看似简单,但实际投入将近40个小时(纯工作时间)。

在解决问题的过程中,遇到了以下几个问题:

  1. ,这个是OS层面的的;
  2. Powershell获取计划任务的cmdlet在Windows 2008上木有;
  3. 命令、参数一样的情况下,在Windows 2008/2012上运行结果不同。

最终,为了解决这个需求,最终通过如下方式解决:

  1. Batch脚本调用schtasks.exe命令采集信息。
  2. Powershell通过Get-ScheduledTaskGet-ScheduledTaskInfo这两个cmdlet采集信息
  3. Powershell调用COM对象来采集信息。

归根结底,做运维的,从脚本开发之初就应该从兼容性方面考虑。

个人是想在保证开发效率的情况下,用尽可能快捷的方式来解决问题,无奈坑是一个接一个。

不过在解决问题的过程中,发现Powershell比Batch强大多了,但也不标准多了。为了避免后续继续踩坑、浪费时间,从现在开始就准备系统性的学习Powershell。

在知乎上看到一些问题,说Powershell不仅能够编写脚本,还能够架构大型应用程序。突然感觉和Python一样了,于是,好奇心就来了,花100个番茄学习一下。

学习的目标

学习的目标很简单:

  1. 整体了解Powershell的编写模式;
  2. 了解Powershell适合做什么,不适合做什么;
  3. Powershell在不同系统上支持的功能区别;

当然,个人还有一个其他的想法:

  1. 是否可以通过某种方式,当我下次要用的时候,直接通过搭积木的方式来进行程序编写?