PowerShell是专为系统管理员设计的全新的 Windows 命令行外壳程序。其构建在 .NET 公共语言运行时 (CLR) 和 .NET Framework 的基础之上,为您提供了对计算机上文件系统、注册表和数字签名证书的访问。
PowerShell引入了 cmdlet(读作“command-let”)的概念,每个cmdlet是内置的,可以分别使用,但是组合使用它们时更能发挥其作用。PowerShell 包括一百多个基本的核心 cmdlet,是用于操作对象的单功能命令。
cmdlet由短划线 (-) 分隔的动词和名词,如 Get-Help、Get-Process 和 Start-Service。在PowerShell 中,大多数 cmdlet 都非常简单,它们设计为与其他 cmdlet 组合使用。例如,“get”cmdlet 仅检索数据,“set”cmdlet 仅建立或更改数据,“format”cmdlet 仅设置数据格式,“out”cmdlet 仅将输出定向到指定的目标。每个 cmdlet 都具有一个帮助文件,可以通过键入以下内容访问它:
get-help
您最初可能没有意识到,在PowerShell 中工作时,所使用的是 .NET 对象。但是随着经验的增加,您会发现自己使用的是对象,甚至用对象进行思考。 从技术上讲,.NET 对象是 .NET 类的实例,包含数据以及与该数据关联的操作,可以将对象视为具有属性和方法的数据实体。 例如,在PowerShell 中获取服务时,实际上是获取表示该服务的对象。查看有关服务的信息时,所查看的是其服务对象的属性,启动服务时,所使用的是服务对象的方法。类型相同的所有对象都具有相同的属性和方法,但是对象的每个实例可能具有不同的属性值。例如,每个服务对象都具有 Name 和 Status 属性。但是,每个服务都可以具有不同的名称和不同的状态。
使用对象的一个主要优点是,它使得用管道传输命令(即,将一个命令的输出作为输入传递到另一命令)容易得多。通信通常需要字符串操作,以便将输出从一种格式转换为另一种格式,并删除标题和列标题。
PowerShell提供了一个基于对象而不是基于文本的新交互模型。接收对象的 cmdlet 可以直接作用于其属性和方法,而无需进行转换或操作。用户可以通过名称引用对象的属性和方法,而不是计算数据在输出中的位置。
在以下示例中,将 IpConfig 命令的结果传递到 Findstr 命令。管道运算符 (|) 将其左侧命令的结果发送到其右侧的命令。在PowerShell 中,无需操作字符串或计算数据偏移量。
PS> ipconfig | findstr "Address"
IP Address. . . . . . . . . . . . : 172.28.21.5
IP Address. . . . . . . . . . . . : 172.30.160.225
在PowerShell 中,脚本文件的文件扩展名为 .ps1,在命令提示符下键入脚本的名称即可运行脚本,扩展名是可选的。例如:c:\test\testscript.ps1或c:\test\testscript
即使脚本在当前目录中,也必须指定脚本文件的完全路径。可以使用点 (.) 表示当前目录。例如:.\testscript.ps1
由于脚本可以用于传播恶意代码。因此PowerShell 中的安全策略允许您确定脚本是否可以运行,以及它们是否必须包括数字签名。PowerShell 中的执行策略都不允许通过双击脚本的图标来运行它。PowerShell包括一种非常丰富的脚本语言,使用该语言可以创建从最简单到非常复杂的脚本。它支持用于循环、条件、流控制和变量赋值的语言结构。
若要显示 cmdlet 的帮助,请键入“get-help”,后跟该 cmdlet 的名称。例如:get-help get-command
(如 Get-Help、Get-Command、Get-Process、Get-Service 和 Get-Eventlog)若要显示 cmdlet 的详细帮助,包括参数说明和示例,请使用 Get-Help 的 Detailed 参数。例如:
get-help get-command -detailed
若要仅查看示例,请使用 Examples 参数。例如,若要显示 Get-Command cmdlet 的示例,请键入:
get-help get-command -examples
若要仅查看详细的参数说明,请使用 Get-Help 的 Parameter 参数。可以指定参数的名称,或者使用通配符 (*) 指定所有参数。例如,若要查看 Get-Command 的 TotalCount 参数说明,请键入:
get-help get-command -parameter totalcount
若要查看 Get-Command cmdlet 的所有参数,请键入:
get-help get-command -parameter *
也可以使用调用 Get-Help 的 PowerShell函数之一。Help 函数一次显示一整屏帮助内容。Man 函数显示与 Unix 中的手册页类似的帮助。若要使用 Help 和 Man 函数显示 Get-Command cmdlet 的帮助,请键入:man get-command
或help get-command
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |