PowerShell

 

PowerShell概念

即开发代号为Monad的命令行外壳和脚本系统管理工具。

  

powershell

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

 

 

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

起源与目的

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

程式特性

  一致性的设计让所有工具和系统资料的使用语法、命名原则都相同。
 
  脚本语言简单易学,而且能支援现有的脚本程式和命令列工具。
 
  内含129种称为 cmdlet 的标准工具,可用来处理常见的系统管理工作。
 
  具备完整的扩充功能,独立软体商或开发者都能很容易的自行扩充。
 
  cmdlet 是 Windows PowerShell 的指令,发音念法为 command-let。这相当于 DOS 或其他壳程式的内建指令,指令名称的格式都是以连字号(-)隔开的一对动词和名词,并且通常都是单数名词;例如线上查询说明的 cmdlet 指令为 get-help,名称的动词部分大致有 get、set、add、remove 等等(字母都不分大小写)。

 

PowerShell上手

具体步骤

  在“运行“中输入”PowerShell“命令或是直接在传统的命令行模式中输入“PowerShell”都可以进入PowerShell命令行模式。
 
  相对于传统的命令行工具,PowerShell对很多用户来说都会显得非常陌生。究竟PowerShell支持哪些命令呢?其实PowerShell可以管理系统进程,服务,注册表,系统日志甚至证书等多项内容。想知道它支持哪些命令,只需要在窗口内输入get-command并按下回车就可以了,这时屏幕上会显示所有PowerShell支持的命令。
 
  此处除了可以显示命令的类型外,还会显示名称和描述。想查看某个命令的详细用法就可以使用get-help命令来获得帮助,比如要查看add-content命令的详细内容,就可以输入get-help add-content,按下回车后就会显示命令的名称,摘要,语法,详细说明,相关链接以及备注。要想更深入了解powerShell就要经常获取帮助哦。PowerShell应用
 
  PowerShell可以方便地查看和结束系统内的进程,这样不仅可以监控系统内的可疑进程,还可以轻松地将其关闭。要想查看当前系统内的进程,就需要打开PowerShell,输入 get-process后按下回车,这样系统中进程的句柄,进程名,进程占用处理器时间和进程唯一标识符就会显示出来。
 
  如果要结束某个或多个进程,就需要记录下进程的唯一标识符,在powerShell中输入Stop-process后根据提示输入一个或多个进程的ID,按下回车后进程即可被自动结束。
 
  用别名快速启动程序
 
  对于某些常用的命令,powershell还支持将其设置为别名使用。比如需要给get-process设置别外,就可以在powershell中输入set-alias gp get-process,其中gp为命令get-process的别名。按下回车后直接用gp就可以代替get-process命令了。
 
  同理很多系统内建的工具也可以在powershell中设置别名了,比如在powershell中输入notepad后就可以启动记事本。要想更快地启动记事本,就可以为其设置别名,输入set-alias np notepad后按下回车,这样再次输入np就可以打开记事本了。
 
  [1]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 = "输入地址 "
 
  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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章