WindowsPowerShelluserGuide.docx

上传人:b****4 文档编号:5506123 上传时间:2022-12-17 格式:DOCX 页数:121 大小:114KB
下载 相关 举报
WindowsPowerShelluserGuide.docx_第1页
第1页 / 共121页
WindowsPowerShelluserGuide.docx_第2页
第2页 / 共121页
WindowsPowerShelluserGuide.docx_第3页
第3页 / 共121页
WindowsPowerShelluserGuide.docx_第4页
第4页 / 共121页
WindowsPowerShelluserGuide.docx_第5页
第5页 / 共121页
点击查看更多>>
下载资源
资源描述

WindowsPowerShelluserGuide.docx

《WindowsPowerShelluserGuide.docx》由会员分享,可在线阅读,更多相关《WindowsPowerShelluserGuide.docx(121页珍藏版)》请在冰豆网上搜索。

WindowsPowerShelluserGuide.docx

WindowsPowerShelluserGuide

WindowsPowerShell™入门

MicrosoftCorporation

发布日期:

2006年9月

摘要

WindowsPowerShell™是专为系统管理员设计的新Windows命令行外壳程序。

该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

本文档介绍了WindowsPowerShell的基本概念和功能,并提供了一些使用WindowsPowerShell进行系统管理的建议方法。

目录

WindowsPowerShell入门版权声明8

WindowsPowerShell简介8

目标受众8

关于WindowsPowerShell8

可发现特性8

一致性9

交互式脚本环境9

面向对象9

易于过渡到脚本9

安装和运行WindowsPowerShell10

安装要求10

安装WindowsPowerShell10

运行WindowsPowerShell10

WindowsPowerShell基础知识11

理解重要的WindowsPowerShell概念11

命令不是基于文本的11

命令系列是可扩展的11

WindowsPowerShell处理控制台输入和显示12

WindowsPowerShell使用某些C#语法12

了解WindowsPowerShell名称12

Cmdlet使用“动词-名词”名称以减少命令记忆量13

Cmdlet使用标准参数14

帮助参数(?

)14

通用参数14

建议参数14

获取摘要命令信息15

显示可用命令类型15

获取详细帮助信息16

使用熟悉的命令名称17

解释标准别名17

创建新别名18

使用Tab扩展来自动完成名称18

对象管道19

了解WindowsPowerShell管道19

查看对象结构(Get-Member)21

使用格式命令更改输出视图22

使用Format-Wide输出单个项目22

使用Column控制Format-Wide显示23

使用Format-List显示列表视图23

使用Format-List和通配符来获取详细信息23

使用Format-Table显示表格格式输出23

改进Format-Table输出(AutoSize)24

Format-Table输出在列中换行(Wrap)25

组织表输出(-GroupBy)25

使用Out-*Cmdlet重定向数据26

对控制台输出进行分页(Out-Host)27

放弃输出(Out-Null)27

打印数据(Out-Printer)28

保存数据(Out-File)28

WindowsPowerShell导航29

在WindowsPowershell中管理当前位置29

获取当前位置(Get-Location)29

设置当前位置(Set-Location)29

保存和撤回最近的位置(Push-Location和Pop-Location)30

管理WindowsPowerShell驱动器32

添加新的WindowsPowerShell驱动器(New-PSDrive)33

删除WindowsPowerShell驱动器(Remove-PSDrive)34

在WindowsPowerShell外部添加和删除驱动器34

处理文件、文件夹和注册表项35

枚举文件、文件夹和注册表项(Get-ChildItem)35

列出所有包含的项(-Recurse)35

按名称筛选项(-Name)36

强制列出隐藏项(-Force)36

将项名称与通配符匹配36

排除项(-Exclude)37

混合使用Get-ChildItem参数37

直接对项进行操作38

创建新项(New-Item)38

为什么注册表值不属于项39

重命名现有项(Rename-Item)39

移动项(Move-Item)39

复制项(Copy-Item)40

删除项(Remove-Item)40

执行项(Invoke-Item)41

处理对象41

获取WMI对象(Get-WmiObject)41

获取WMI对象(Get-WmiObject)41

列出WMI类42

显示WMI类详细信息43

使用FormatCmdlet显示非默认的属性43

创建.NET和COM对象(New-Object)44

使用New-Object访问事件日志44

将构造函数与New-Object结合使用45

在变量中存储对象45

使用New-Object访问远程事件日志45

使用对象方法清除事件日志46

使用New-Object创建COM对象46

使用WScript.Shell创建桌面快捷方式47

使用WindowsPowerShell中的InternetExplorer48

获取有关.NET-WrappedCOM对象的警告49

使用静态类和方法50

使用System.Environment获取环境数据50

引用System.Environment静态类50

显示System.Environment的静态属性51

使用System.Math进行数学运算51

从管道中删除对象(Where-Object)53

使用Where-Object执行简单测试53

根据对象属性进行筛选54

对多个对象重复同一任务(ForEach-Object)55

选择对象的各个部分(Select-Object)56

对对象进行排序57

使用变量存储对象57

创建变量57

对变量进行操作58

使用Cmd.exe变量59

使用WindowsPowerShell执行管理任务59

管理本地进程59

列出进程(Get-Process)59

停止进程(Stop-Process)60

停止所有其他WindowsPowerShell会话61

管理本地服务62

列出服务62

停止、启动、挂起和重新启动服务62

收集有关计算机的信息63

列出桌面设置63

列出BIOS信息63

列出处理器信息64

列出计算机制造商和型号64

列出已安装的修补程序64

列出操作系统版本信息65

列出本地用户和所有者65

获得可用磁盘空间66

获得登录会话信息66

获得登录到计算机的用户66

从计算机获得本地时间66

显示服务状态67

处理软件安装67

列出WindowsInstaller应用程序67

列出所有可卸载的应用程序69

安装应用程序70

删除应用程序70

升级WindowsInstaller应用程序71

更改计算机状态:

锁定、注销、关闭和重新启动71

锁定计算机71

注销当前会话71

关闭或重新启动计算机71

处理打印机72

列出打印机连接72

添加网络打印机72

设置默认打印机72

删除打印机连接72

执行网络任务72

列出计算机的IP地址73

列出IP配置数据73

对计算机执行Ping操作74

检索网络适配器属性74

为网络适配器指定DNS域74

执行DHCP配置任务75

确定启用DHCP的适配器75

检索DHCP属性75

在每个适配器上启用DHCP75

对特定适配器解除和续订DHCP租约75

对所有适配器解除和续订DHCP租约76

创建网络共享76

删除网络共享77

连接Windows可访问的网络驱动器77

处理文件和文件夹77

列出文件夹中的所有文件和文件夹77

复制文件和文件夹78

创建文件和文件夹78

删除文件夹中的所有文件和文件夹78

将本地文件夹映射为Windows可访问驱动器79

将文本文件读入数组79

处理注册表项79

列出注册表项的所有子项80

复制项80

创建项81

删除项81

删除特定项下的所有项81

处理注册表条目82

列出注册表条目82

获取单个注册表条目83

创建新的注册表条目84

重命名注册表条目84

删除注册表条目85

附录1-兼容性别名85

附录2-创建自定义的PowerShell快捷方式86

WindowsPowerShell入门版权声明

本文档仅供参考,Microsoft在本文档中不提供任何明示或暗示的保证。

本文档中的信息(包括引用的URL和其他Internet网站)如有变动,恕不另行通知。

全部使用风险或使用本文档产生的结果由用户承担。

除非另行说明,否则本文档范例中所提及的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点和事件均属虚构,并无有意联系或暗示任何实际的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点或事件。

遵守所有适用的版权法是用户的责任。

在不限制版权许可的权利的情况下,如果没有得到MicrosoftCorporation明确书面许可,本文档的任何部分不得被复制、存储或引进检索系统,或者以任何形式、任何方式(电子、机械、影印、录音或其他)或为任何目的进行传播。

本文档可能涉及MicrosoftCorporation的专利、正在申请的专利、商标、版权或其他知识产权。

除非与MicrosoftCorporation签订的书面许可协议中有明确规定,否则使用本文档并不意味着授予使用这些专利、商标、版权或其他知识产权的任何许可。

©2006MicrosoftCorporation。

保留所有权利。

Microsoft、MS-DOS、Windows、WindowsNT、Windows2000、WindowsXP和WindowsServer2003是MicrosoftCorporation在美国和/或其他国家(地区)的注册商标或商标。

此处所提及的实际公司和产品的名称可能是其各自所有者的商标。

WindowsPowerShell简介

WindowsPowerShell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用.NETFramework的强大功能。

它引入了许多非常有用的新概念,从而进一步扩展了您在Windows命令提示符和WindowsScriptHost环境中获得的知识和创建的脚本。

目标受众

WindowsPowerShell入门主要面向之前没有WindowsPowerShell背景知识的IT专业人员、程序员和高级用户。

虽然具备脚本和WMI方面的背景知识会有所帮助,但是理解本文档并不假定或要求您具备此方面知识。

关于WindowsPowerShell

通过解决长期存在的问题并添加一些新的功能,WindowsPowerShell旨在改进命令行和脚本环境。

可发现特性

您可轻易发现WindowsPowershell的功能。

例如,若要查找用于查看和更改Windows服务的cmdlet列表,请键入:

get-command*-service

在发现可完成任务的cmdlet之后,可以使用Get-Helpcmdlet了解有关该cmdlet的详细信息。

例如,若要显示有关Get-Servicecmdlet的帮助,请键入:

get-helpget-service

若要充分理解该cmdlet的输出,则可通过管道将其输出传递给Get-Membercmdlet。

例如,以下命令将通过Get-Servicecmdlet显示有关该对象输出的成员的信息。

get-service|get-member

一致性

管理系统可能是一项复杂的任务,而具有统一接口的工具将有助于控制其固有的复杂性。

然而,无论是命令行工具还是可编写脚本的COM对象,在一致性方面都乏善可陈。

WindowsPowerShell的一致性是其主要优点中的一项。

例如,如果您学会了如何使用Sort-Objectcmdlet,则可利用这一知识对任何cmdlet的输出进行排序。

而无需了解每个cmdlet的不同的排序例程。

此外,cmdlet开发人员也不必为其cmdlet设计排序功能。

WindowsPowerShell为他们提供了框架,而该框架可提供基本的功能,并强制他们在接口的许多方面保持一致。

该框架虽然消除了通常会留给开发人员的某些选项,但作为回报,开发强健、易于使用的cmdlet的工作将更加简单。

交互式脚本环境

WindowsPowerShell将交互式环境和脚本环境组合在一起,从而允许您访问命令行工具和COM对象,同时还可利用.NETFramework类库(FCL)的强大功能。

此环境对Windows命令提示符进行了改进,后者提供了带有多种命令行工具的交互式环境。

此外,还对WindowsScriptHost(WSH)脚本进行了改进,后者允许您使用多种命令行工具和COM自动对象,但未提供交互式环境。

通过将对所有这些功能的访问组合在一起,WindowsPowerShell扩展了交互用户和脚本编写者的能力,从而更易于进行系统管理。

面向对象

尽管您可以通过以文本方式键入命令与WindowsPowerShell进行交互,但WindowsPowerShell是基于对象的,而不是基于文本的。

命令的输出即为对象。

可以将输出对象发送给另一条命令以作为其输入。

因此,WindowsPowerShell为曾使用过其他外壳程序的人员提供了熟悉的界面,同时引入了新的、功能强大的命令行范例。

通过允许发送对象(而不是文本),它扩展了在命令之间发送数据的概念。

易于过渡到脚本

使用WindowsPowerShell,您可以很方便地从以交互方式键入命令过渡到创建和运行脚本。

您可以在WindowsPowerShell命令提示符下键入命令以找到可执行任务的命令。

随后,可将这些命令保存到脚本或历史记录中,然后将其复制到文件中以用作脚本。

安装和运行WindowsPowerShell

安装要求

在安装WindowsPowerShell之前,请确保您的系统中已安装WindowsPowerShell要求的软件程序。

WindowsPowerShell要求以下程序:

∙WindowsXPServicePack2、Windows2003ServicePack1或Windows的更高版本

∙Microsoft.NETFramework2.0

如果计算机上已安装任意版本的WindowsPowerShell,则在安装新版本之前,应使用“控制面板”中的“添加或删除程序”将其卸载。

安装WindowsPowerShell

若要安装WindowsPowerShell,请执行以下步骤:

1.下载WindowsPowerShell安装文件。

(该文件名将因平台、操作系统和语言包的不同而异。

2.若要开始安装,请单击“打开”。

3.按照安装向导页上的说明进行安装。

也可将WindowsPowerShell文件保存到网络共享,以便在多个计算机上进行安装。

若要执行无提示安装,请键入:

/quiet

例如,

PowerShellSetup_x86_fre.exe/quiet

在32位版本的Windows中,WindowsPowerShell默认情况下安装在%SystemRoot%\System32\WindowsPowerShell\v1.0目录中。

在64位版本的Windows中,32位版本的WindowsPowerShell安装在%SystemRoot%\SystemWow64\WindowsPowerShell\v1.0目录中,而64位版本的WindowsPowerShell则安装在%SystemRoot%\System32\WindowsPowerShell\v1.0目录中。

运行WindowsPowerShell

若要从“开始”菜单启动WindowsPowerShell,请依次单击“开始”、“所有程序”、“WindowsPowerShell1.0”,以及WindowsPowerShell图标。

若要从“运行”框中启动WindowsPowerShell,请依次单击“开始”、“运行”,键入powershell,然后单击“确定”。

若要从命令提示符(cmd.exe)窗口启动WindowsPowerShell,请在命令提示符下键入powershell。

由于WindowsPowerShell运行在控制台会话中,因此可以使用相同技术在远程telnet或SSH会话中运行它。

若要返回到命令提示符会话,请键入exit。

WindowsPowerShell基础知识

图形界面使用了大多数计算机用户所熟知的一些基本概念。

用户可以依靠对这些界面的熟悉来完成其任务。

操作系统为用户呈现了可浏览的图形化的项目表示形式,通常包括下拉菜单(用于访问特定功能),以及上下文菜单(用于访问特定于上下文的功能)。

命令行接口(CLI)(例如WindowsPowerShell)必须使用不同的方式来公开信息,因为它没有可方便用户的菜单或图形系统。

只有在知道命令的名称后,才可对其进行使用。

尽管可以键入相当于GUI环境中的功能的复杂命令,但前提是您必须熟悉常用的命令和命令参数。

大多数CLI都不提供可帮助用户了解该接口的模式。

由于CLI是最早的操作系统外壳程序,因此许多命令名称和参数名称都是随意选择的。

通常,选择名称的原则是简洁扼要而非清楚明了。

尽管大多数CLI中都集成了帮助系统和命令设计标准,但是它们通常都是为了与最早的命令兼容而设计的,因此命令集仍然保持着几十年前确定的形式。

而WindowsPowerShell设计原则是可以利用用户在CLI方面的以往知识。

在本章中,我们将介绍一些可用于快速了解WindowsPowerShell的基本工具和概念。

其中包括:

∙使用Get-Command

∙使用Cmd.exe和UNIX命令

∙使用外部命令

∙使用Tab补齐功能

∙使用Get-Help

理解重要的WindowsPowerShell概念

WindowsPowerShell在设计上集成了源自众多不同环境的概念。

尽管使用过特定外壳程序或编程环境的人可能会熟悉其中几个概念,但很少有人了解所有这些概念。

查看这些概念可帮助您概括了解本外壳程序。

命令不是基于文本的

与传统的命令行界面命令不同,WindowsPowerShellcmdlet旨在可处理对象--结构化的信息,而不只是显示在屏幕上的字符串。

命令输出始终提供需要使用的额外信息。

我们将在本文档中深入讨论此主题。

如果您过去曾使用文本处理工具来处理命令行数据,则会发现,在WindowsPowerShell中尝试使用这些工具时,其行为会有所不同。

在大多数情况下,您不需要使用文本处理工具来提取特定信息。

通过使用标准的WindowsPowerShell对象操纵命令,可直接访问任何数据部分。

命令系列是可扩展的

许多接口(例如Cmd.exe)均不能提供直接扩展内置命令集的方法。

您可以创建在Cmd.exe中运行的外部命令行工具,但这些外部工具不能提供服务(例如帮助集成),并且Cmd.exe不能自动了解它们是有效的命令。

WindowsPowerShell中的本机二进制命令(也称为cmdlet,读作command-let)可以通过创建并使用管理单元添加到WindowsPowerShell中的cmdlet进行补充。

WindowsPowerShell管理单元已经过编译,与任何其他接口中的二进制工具相同。

您可以使用它们将WindowsPowerShell提供程序以及新的cmdlet添加到外壳程序中。

由于WindowsPowerShell内部命令的特殊性质,因此我们称它们为cmdlet。

请注意:

WindowsPowerShell可以运行除cmdlet以外的其他命令。

“WindowsPowerShell入门”中将不会详细介绍这些命令,但了解这些命令类型类别会很有帮助。

WindowsPowerShell支持与UNIX外壳程序脚本和Cmd.exe批处理文件类似但文件扩展名为.ps1的脚本。

WindowsPowerShell还允许您创建可直接用于界面或脚本中的内部函数。

WindowsPowerShell处理控制台输入和显示

键入命令时,WindowsPowerShell始终会直接处理命令行输入。

WindowsPowerShell还可以设置屏幕上显示的输出格式。

此功能十分重要,因为它可以减少处理每个cmdlet所需的工作,并确保您在使用任何一种cmdlet时都能始终以相同方式进行操作。

这样有助于简化工具开发人员和用户的工作,我们不妨以命令行帮助为例。

对于请求和显示帮助,传统的命令行工具都有其自身的方案。

一些命令行工具使用/?

来触发帮助显示;其他命令行工具使用-?

、/H甚至//。

其中一些会以GUI窗口显示帮助,而不以控制台显示。

某些复杂工具(例如,应用程序更新程序)会先将内部文件解包,然后才显示其帮助。

如果使用的参数不正确,则该工具可能会忽略键入的内容,并自动开始执行任务。

在WindowsPowerShell中输入命令时,WindowsPowerShell将自动分析并预处理所输入的全部内容。

如果将WindowsPowerShellcmdlet与-?

参数一起使用,则始终表示“显示此命令的帮助”。

Cmdlet开发人员无需分析该命令;他们只需提供帮助文本。

即使是在WindowsPowerShell中运行传统命令行工具,您也可以使用WindowsPowerShell的帮助功能,了解这一点十分重要。

WindowsPowerShell将对参数进行处理并将结果传递给外部工具。

请注意:

如果在WindowsPowerShell中运行图形应用程序,将会打开该应用程序的窗口。

只有在处理您提供的命令行输入或返回到控制台窗口的应用程序输出时,WindowsPowerShell才会进行干预;它不会影响该应用程序的内部工作方式。

WindowsPowerShell使用某些C#语法

由于WindowsPowerShell基于.NETFramework,因此WindowsP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1