Chinaunix首页 | 论坛 | 博客
  • 博客访问: 635616
  • 博文数量: 233
  • 博客积分: 2221
  • 博客等级: 大尉
  • 技术积分: 3184
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-16 14:01
个人简介

瓜瓜派的瓜瓜

文章分类

全部博文(233)

文章存档

2013年(28)

2012年(197)

2011年(8)

分类: IT业界

2012-01-09 15:30:31

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
阅读(931) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~