易学易用的Windows PowerShell

Windows PowerShell 是微软为 Windows 环境所开发的 shell
及脚本语言技术,这项全新的技术提供了丰富的控制与自动化的系统管理能力;而“脚本语言”(scripting
languages)则是用来编写程序的计算机语言。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让写程序的人(开发者)快速完成程序的编写工作。本文将简述脚本语言的起源与目的,并且介绍
Windows PowerShell。
脚本语言的源起与目的

Windows PowerShell 是专为系统管理员设计的新 Windows
命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

脚本语言是计算机程序语言(programming
languages)的一种,因此也能让开发者藉以编写出让计算机听命行事的程序。但是「以简单的方式快速完成某些复杂的事情」通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比
C、C++ 或 Java 之类的「系统程序语言」(system programming
languages)「简单」、「容易」,也让脚本语言另有一些所谓「脚本语言的特性」:

现在win2008,win7都集成了PowerShell,系统不带PowerShell可以自行到官方下载安装即可。
下载地址://www.jb51.net/jiaoben/67200.html

语法和结构通常比较简单 •

解读:

学习和使用通常比较简单 •

1、什么是交互式提示?
答:交互式提示就像打开一个cmd窗口,在里面执行一个ping命令一样,它会动态的输入结果。也可以像执行ftp命令一样,有一个上下文环境(Context),可以交互。
2、什么是脚本环境?
答:就像写VBScript脚本一样,以文件形式把PowerShell的程序语句写下来,然后利用PowerShell的脚本环境来执行整个脚本文件。顺便说一句,批处理也可以理解为一个脚本环境。PowerShell脚本文件的扩展名为.ps1,语言支持用于循环、条件、流控制和变量赋值的语言结构。

通常以容易修改程序的「直译」作为执行方式,而不需要编译 •

Windows PowerShell 是专为系统管理员设计的新 Windows
命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

程序的开发产能优于执行效能

解读:

威尼斯官方网站登录,脚本语言源自早期文字模式的命令列计算机系统,在当时只能以键盘敲入命令才能操作计算机的情况下,为了减少某些需要不断重复敲入命令的情况,计算机操作系统的命令处理器(在
UNIX 的世界这通常称为 command shell)提供了「批次操作」(batch
operation)的方式,让计算机操作者可以将一整个流程的命令,循序、逐行的编排在称为「批处理」(batch
file,也称为 batch jobs 或 shell
scripts)的文字文件,若有相同的操作需要处理,即可加载批次档而不需再次重复敲入指令。

1、什么是交互式提示?
答:交互式提示就像打开一个cmd窗口,在里面执行一个ping命令一样,它会动态的输入结果。也可以像执行ftp命令一样,有一个上下文环境(Context),可以交互。
2、什么是脚本环境?
答:就像写VBScript脚本一样,以文件形式把PowerShell的程序语句写下来,然后利用PowerShell的脚本环境来执行整个脚本文件。顺便说一句,批处理也可以理解为一个脚本环境。PowerShell脚本文件的扩展名为.ps1,语言支持用于循环、条件、流控制和变量赋值的语言结构。

Shell Script

与接受和返回文本的大多数外壳程序不同,Windows PowerShell 是在 .NET
公共语言运行时 (CLR) 和 .NET Framework 的基础上构建的,它接受和返回 .NET
对象。环境中的这一根本更改带来了管理和配置 Windows 的全新工具和方法。
解读:
这个很有意思,一个对象化的脚本环境不奇怪,一个对象化的交互式环境确实是一个全新的理念。

由于批处理对命令列的计算机系统操作者帮助甚大,因此操作系统的命令处理器也不断加强功能,尤其加入了许多程序语言的重要元素,包括变量、循环、条件判断等等,让计算机操作不只是循序的执行命令,而能更精确的操控计算机系统的运作;这种程序设计通常称为
shell
programming。因此,不论是大型主机的系统操作员,或者是整个计算机环境的系统管理员、网络管理员,shell
programming
都是相当重要的技能,这项技能可以有效且快速的管理辖下的计算机。

Windows PowerShell 引入了
cmdlet(读作“command-let”)的概念,这是内置到外壳程序中的一个简单的单一功能命令行工具。可以分别使用每个
cmdlet,但是组合使用这些简单的工具执行复杂任务时才发挥其作用。Windows
PowerShell 包括一百多个基本的核心 cmdlet,您可以编写自己的 cmdlet
并与其他用户共享它们。

UNIX 系统的 shell 相当多样,例如 Bourne Shell(sh)、Bourne-Again
Shell(bash)、Korn Shell(ksh)、C Shell(csh)等等;以下简述常见的
UNIXshell。 •

解读:

Bourne Shell(sh):这是历史悠久且重要的 UNIX
shell,是由贝尔实验室的研究员 Stephen Bourne 为第七版的 UNIX
所创造,这种 shell 的执行档扩展名就是 .sh。 •

1、这应该像command自带dir、cd、copy、del这些内置命令差不多,只不过它是可以模块化添加、删除的。PowerShell自带了大量cmdlet,也可以自己编写、分发。
2、可以通过其名称格式识别 cmdlet — 由短划线 (-) 分隔的动词和名词,如
Get-Help、Get-Process 和
Start-Service。有Start-Service就有Stop-Service、Restart-Service,这里Windows系统不区分命令大小的一惯作风被得以体现。
3、每个cmdlet的作用都很简单,如“get”cmdlet 仅检索数据,“set”cmdlet
仅建立或更改数据,“format”cmdlet 仅设置数据格式,“out”cmdlet
仅将输出定向到指定的目标,所以应注意怎么组合使用。
4、每个 cmdlet 都具有一个帮助文件,可以通过键入以下内容访问它:get-help
<cmdlet 名称>
-detailed,如果只要查看简单的信息,就不要detailed这个参数,如果要查看更全面的技术信息,则需要把detailed更改为full。
也可以直接使用help <cmdlet 名称>,或者直接在使用 <cmdlet
名称> -? 。
get-help * 可以显示所有Powershell命令。get-help
get-*可以显示get开头的命令。
试着完整的阅读get-help start-service
-full,会对PowerShell有一个震撼的认识。
5、很多cmdlet有内置的别名,如Get-Service的别名就是gsv;
6、Get-Command,可以列出所有的cmdlet;

Bourne-Again Shell(bash):光从名称就能猜出 bash 与 sh
是有渊源(甚至说「血缘」)。bash 是由 Brian Fox 于 1987 年为 GNU
所创造,1990 年起,Chet Ramey 成为主要的维护者。bash 是相当流行的
shell,除了是大多数 Linux 预设的 shell,在许多 UNIX-like
系统也有其踪迹(例如 Mac OS X Tiger),甚至也能通过 Cygwin 在 Windows
系统执行。

Windows PowerShell 为您提供了对计算机上文件系统的访问。此外,使用
Windows PowerShell
提供程序,还可以访问其他数据存储区,如注册表和数字签名证书存储区,与访问文件系统一样容易。
解读:

1、OK,它的强项在于文件系统、注册表、数字证书等?后面随着学习的深入,也会接触到它更多、更强大的功能。

Korn Shell(ksh):是由贝尔实验室的研究员 David Korn 在 80
年代初期所创造,ksh 除了与 sh 完全兼容,也包含了若干 C Shell 的功能。

可以在 Windows PowerShell 中运行 Windows
命令行程序,并可以在外壳程序中启动具有图形用户界面的 Windows
程序(如记事本和计算器)。还可以捕获程序生成的文本,并在外壳程序中使用该文本(与在
Cmd.exe 中很类似)。

解读:

C Shell(csh):是由 Bill Joy(后来创办了Sun公司)为 BSD UNIX
系统所创造。csh 源自于第六版 UNIX 的 Thompson shell(是 Bourne Shell
的前身),因为语法类似 C 语言而得名。

1、在cmd.exe里面可以执行的外部命令,如net.exe、xcopy.exe、sc.exe、reg.exe等,均可以在PowerShell中正常使用;
2、cmd.exe本身也可以在PowerShell中使用;
3、cmd.exe自带的内置命令也可以使用,如dir c:;
4、运行services.msc一样可以打开服务面板;
5、也可以打开像notepad.exe这样的图形界面的Windwos程序。

除了上述盛行于 UNIX 环境的 shell,其它操作系统也有专属的 shell 或 shell
脚本语言,例如苹果Mac系统的 AppleScript、IBM OS/2 的 REXX(REstructured
eXtended eXecutor)。而 DOS 以及早期 Windows 的 shell 则是
Command.com,但也因功能较弱,因此有 4DOS、4NT 等软件可增强功能,Windows
2000 以及之后的 Windows 则改以功能较强 cmd.exe 作为 Windows
shell,并且以 Windows Script Host 作为脚本语言执行环境,大幅提高了
Windows shell 的可用性。而微软也将会推出功能更强的 Windows shell,称为
Windows PowerShell。

您可能感兴趣的文章:

  • Windows
    PowerShell是啥?看完本文你就懂它了
  • 25个常用PowerShell命令总结
  • Windows Powershell
    介绍和安装
  • Powershell实现编写和运行脚本
  • 浅谈CMD和win
    powershell的区别
  • PowerShell读取文件内容、替换文件内容、读取限定行的例子
  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子
  • Win8系统中使用PowerShell安装APPX应用命令介绍
  • 使用 powershell
    创建虚拟机

虽然现在许多计算机系统都提供了图形化的操作方式,但是却都没有因而停止提供文字模式的命令列操作方式,相反的,许多系统反而更加强这部份的功能,例如
Windows 就不只加强了操作命令的功能和数量,也一直在改善 shell programming
的方式。而之所以要加强、改善,当然是因为不够好;Windows
的图形化操作方式对单一客户端计算机的操作,已经相当方便,但如果是一群客户端计算机,或者是
24 小时运作的服务器计算机,图形化操作方式有时会很不方便。

宏语言

宏语言也可视为脚本语言的分支,两者也实质上的相同之处。宏语言通常附属于某一种软件,例如微软
Office、Visual Studio、Adobe Photoshop
都内建了宏语言的功能,使用者可利用软件所附的宏语言,达到自动化的结果(例如调整某个数据夹所有
PSD
图文件的分辨率)。而这类宏语言也大多提供录制宏的功能,自动记录使用者的键盘按键,让使用者不必写程序,就能产生宏程序。此外,C
语言和汇编语言也有宏功能,是以搜寻及取代进行编译或组译之前的前置处理。

Windows PowerShell 诞生

UNIX 的世界有功能强大的 shell,现在 Windows 环境也有了;Windows
PowerShell 不仅提供功能相当于BASH的命令列
shell,同时也内建脚本语言以及辅助脚本程序的工具。Windows PowerShell 是以
.NET 技术为基础,并且与现有的 WSH 保持回溯兼容,因此 Windows PowerShell
的脚本程序不仅能存取 .NET CLR,也能使用现有的 COM 技术。

Windows PowerShell
包含了数种系统管理工具、简易且一致的语法,提升管理者处理常见如登录数据库、WMI。Exchange
Server 2007 以及 System Center Operations Manager 2007
等服务器软件都将内建 Windows PowerShell。

Monad 是 Windows PowerShell 之前的项目代号,Microsoft
Shell(MSH)则是另一个别名;简而言之,Windows PowerShell 具有以下特点:

一致性的设计让所有工具和系统数据的使用语法、命名原则都相同。

Windows PowerShell
的脚本语言不仅简单易学,而且能支持现有的脚本程序和命令列工具。 •

内含 129 种称为 cmdlet
的标准工具,可用来处理常见的系统管理工作,例如登录数据库、系统服务、形成、WMI、事件日志等等。

具备完整的扩充功能,独立软件商或开发者都能很容易的自行扩充。

下载、安装、执行 Windows PowerShell

Windows PowerShell 可安装于 Windows XP 以及之后的客户端或服务器端
Windows 操作系统,包括: •

客户端:Windows XP、Windows XP Service Pack 1、Windows XP Service Pack
2、Windows Vista •

服务端:Windows Server 2003、Windows Server 2003 R2、Windows Server 2003
Service Pack 1

而 Windows PowerShell 除了有 32 位版本,也还有 x64 和 ia64 等两个 64
位版本,可以安装在这两种 64 位 Windows 平台。此外,由于执行 Windows
PowerShell 需要 .NET Framework 2.0,因此请先替计算机安装 .NET Framework
2.0。

安装之后,可以利用以下三种方式执行 Windows PowerShell:

位于『开始 / 所有程序』的『Windows PowerShell』快捷方式。

在『开始 / 运行』的『运行』命令窗输入 powershell。

在任何『命令提示字符』窗口的命令提示符号输入 powershell。

Windows PowerShell
窗口看起来类似原本的『命令提示字符』窗口,而我通常也都会调整窗口和字型的大小,以方便作业。

初探 Windows PowerShell

任何 shell 都有列出目录、文件的命令,Windows PowerShell 呢?先输入 DOS
的 dir 试试吧!

威尼斯官方网站登录 1
图 1 dir 指令执行结果

嗯!dir 果然也通,但是列示的方式不同于以往的 dir
指令。一时兴起,我输入了 UNIX 的 ls 指令,窗口显示了与 dir
指令相同的结果;真有趣(这时候我尚未阅读任何 Windows PowerShell
文件,只是很直觉输入指令)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章