PowerShell是微软公司于2006年第四季度正式发布的. 它的出现标志着, 微软公司向服务器领域迈出了重要的一步, 拉近了与Unix, Linux等操作系统的距离. PowerShell的前身命名为Monad, 在2006年4月25日正式发布beta版时更名为PowerShell.

  PowerShell是一款基于对象的shell, 建立在.Net框架之上, 目前支持.Net Framework 2.0. 能够运行在Windows XP SP2, Windows Vista, Windows 2003操作系统上. 能够同时支持WMI, COM, ADO.NET, ADSI等已有的Windows管理模型.

  根据微软公司的计划, 2009年将会实现所有微软公司的GUI管理工具通过PowerShell作为中间层对服务程序进行管理, 现阶段例如Exchange 2007等已经支持PowerShell的管理. 可以预期, 使用PowerShell管理Windows服务器指日可待.

  目前PowerShell Version 2.0 正在紧锣密鼓的开发中, 最近首席架构师接受了媒体采访, 介绍了关于远程管理等新特性.

  这项全新的技术提供了丰富的控制与自动化的系统管理能力;而“脚本语言”(scripting languages)则是用来编写程序的计算机语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让写程序的人(开发者)快速完成程序的编写工作。


下面, 简单的贴出简单的语法及解释.



​PS C:\> 5 + 100
105​




​PS C:\> "hello world!"
hello world!​


学习任何语言, 第一个代码总会是hello world, 和上面的数学计算一样, 直接输入即可.


​PS C:\> (5 + 23 * 2) / 23
2.21739130434783​


对于, 四则混合运算, PowerShell也支持的很好, 能够使用()来修改运算符的优先级和结合性. 这里注意, PowerShell支持几种不同的数据类型, 如: int, float, double等. 大多数时候, 我们会在后面对类型转换等做一些介绍.


​PS C:\> (2+2)*3/7 > c:\foo.txt
PS C:\> type c:\foo.txt
1.71428571428571​


除了将运算结果输出到显示器, 我们可以将结果存储到临时文件, 然后用type命令将文件的结果取回. 怎么样? 是不是和shell很相似呢?


​PS C:\> $n = (2+2)*3
PS C:\> $n
12
PS C:\> $n / 7
1.71428571428571​


除了将运算结果存储到文件, 我们可以通过变量赋值, 将运算结果存储到变量中, 并使用该变量进行后续的计算.


​PS C:\> $files = dir
PS C:\> $files[3]


    Directory: Microsoft.PowerShell.Core\FileSystem::C:\


Mode LastWriteTime Length Name
---- ------------- ------ ----
d-r-- 2007-7-26 21:25 Program Files​


PowerShell是一个支持对象的语言, 我们可以简单的将命令返回的结果赋值给变量, $files中包含了但前目录下的目录项的对象集合, 使用普通数组访问语法, 就可以获得该该位置的对象. 例子中显示了Program Files目录. 注意PowerShell中的数组下标是从0开始的. 这点与.Net Common Language Runtime完全一致.

​ 用户指南​