Windows PowerShell

Windows PowerShell 是微软公司Windows环境所开发的壳程序shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。

之前的开发代号是Monad,程序另一个名称叫Microsoft Shell(MSH)。

目录

  [隐藏]

[编辑]源起与目的

UNIX系统一直有着功能强大的壳程序(shell),Windows PowerShell的诞生就是要提供功能相当于UNIX系统Bash的命令行壳程序,同时也自带脚本语言以及辅助脚本程序的工具。

[编辑]程序特性

  • 一致性的设计让所有工具和系统数据的使用语法、命名原则都相同。
  • 脚本语言简单易学,而且能支持现有的脚本程序和命令行工具。
  • 内含129种称为cmdlet的标准工具,可用来处理常见的系统管理工作。
  • 具备完整的扩展,独立软件商或开发者都能很容易的自行扩充。

cmdlet是Windows PowerShell的指令,发音念法为command-let。这相当于DOS或其他壳程序的自带指令,指令名称的格式都是以连字号(-)隔开的一对动词名词,并且通常都是单数名词;例如联机查询说明的cmdlet指令为get-help,名称的动词部分大致有get、set、add、remove等等(字母都不分大小写)。

[编辑]技术基础

Windows PowerShell是以.NET Framework技术为基础,并且与现有的WSH保持向后兼容,因此它的脚本程序不仅能访问.NET CLR,也能使用现有的COM技术。同时也包含了数种系统管理工具、简易且一致的语法,提升管理者处理,常见如登录数据库、WMI。Exchange Server 2007以及System Center Operations Manager 2007等服务器软件都将自带Windows PowerShell。

[编辑]示例

  • 停止所有目前运行中的以"p"字符开头命名的程序:
PS> get-process p* | stop-process

  • 停止所有目前运行中的所有使用大于1000MB存储器的程序:
PS> get-process | where { $_.WS -gt 1000MB } | stop-process

  • 计算一个目录下文件内的字节大小:
PS> get-childitem | measure-object -property length -sum

  • 等待一个叫做"notepad"的程序运行退出:
PS> $processToWatch = get-process notepad

PS> $processToWatch.WaitForExit()

  • 将"hello, world!"字符串转为英文大写字符,成为"HELLO, WORLD!":
PS> "hello, world!".ToUpper()

  • 在字符串"string"的第1个字符后插入字符串"ABC",成为"sABCtring":
PS> "string".Insert(1, "ABC")

  • 订阅一个指定的RSS Feed并显示它最近8个主题:
PS> $rssUrl = "http://blogs.msdn.com/powershell/rss.aspx"

PS> $blog = [xml](new-object System.Net.WebClient).DownloadString($rssUrl)

PS> $blog.rss.channel.item | select title -first 8

  • 把"$UserProfile"设置成数值"UserProfile"的环境变量:
PS> $UserProfile = $env:UserProfile

[编辑]参考文献

[编辑]外部链接

你可能感兴趣的:(powershell)