Windows PowerShell入门.docx

上传人:b****8 文档编号:12821107 上传时间:2023-06-08 格式:DOCX 页数:37 大小:42.09KB
下载 相关 举报
Windows PowerShell入门.docx_第1页
第1页 / 共37页
Windows PowerShell入门.docx_第2页
第2页 / 共37页
Windows PowerShell入门.docx_第3页
第3页 / 共37页
Windows PowerShell入门.docx_第4页
第4页 / 共37页
Windows PowerShell入门.docx_第5页
第5页 / 共37页
Windows PowerShell入门.docx_第6页
第6页 / 共37页
Windows PowerShell入门.docx_第7页
第7页 / 共37页
Windows PowerShell入门.docx_第8页
第8页 / 共37页
Windows PowerShell入门.docx_第9页
第9页 / 共37页
Windows PowerShell入门.docx_第10页
第10页 / 共37页
Windows PowerShell入门.docx_第11页
第11页 / 共37页
Windows PowerShell入门.docx_第12页
第12页 / 共37页
Windows PowerShell入门.docx_第13页
第13页 / 共37页
Windows PowerShell入门.docx_第14页
第14页 / 共37页
Windows PowerShell入门.docx_第15页
第15页 / 共37页
Windows PowerShell入门.docx_第16页
第16页 / 共37页
Windows PowerShell入门.docx_第17页
第17页 / 共37页
Windows PowerShell入门.docx_第18页
第18页 / 共37页
Windows PowerShell入门.docx_第19页
第19页 / 共37页
Windows PowerShell入门.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Windows PowerShell入门.docx

《Windows PowerShell入门.docx》由会员分享,可在线阅读,更多相关《Windows PowerShell入门.docx(37页珍藏版)》请在冰点文库上搜索。

Windows PowerShell入门.docx

WindowsPowerShell入门

WindowsPowerShell™入门指南

MicrosoftCorporation

发布日期:

2006年9月

摘要

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

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

本文档旨在为新用户介绍WindowsPowerShell,以及使他们了解其基本功能。

有关更详细的信息,请参阅“WindowsPowerShell入门”。

目录

WindowsPowerShell入门指南版权声明5

WindowsPowerShell设计目标5

主旨6

WindowsPowerShell简介6

WindowsPowerShellCmdlet6

新脚本语言7

Windows命令和实用工具7

处理对象7

对象管道8

交互和脚本9

交互式环境9

对脚本的支持9

启动WindowsPowerShell10

使用WindowsPowerShell10

Get-Help:

获取帮助11

使用Cmdlet12

了解对象:

Get-Member14

使用Cmdlet参数16

通用参数17

设置命令输出的格式17

使用别名19

创建别名20

删除别名20

使用函数创建替代名称20

使用Windows程序21

管理错误21

在WindowsPowerShell中导航22

在文件系统中导航22

在注册表中导航23

在证书存储区中导航24

在其他驱动器中导航26

关于WindowsPowerShell驱动器26

驱动器和提供程序26

自定义WindowsPowerShell27

检查执行策略27

WindowsPowershell配置文件28

了解配置文件28

创建配置文件28

WindowsPowerShell入门指南版权声明

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

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

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

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

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

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

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

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

©2006MicrosoftCorporation。

保留所有权利。

Microsoft、MS-DOS、Windows、WindowsNT、Windows2000、WindowsXP、WindowsServer2003、WindowsVista、.NETFramework2.0、.NETFramework2.0运行时组件和Win32是MicrosoftCorporation在美国和/或其他国家(地区)的注册商标或商标。

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

WindowsPowerShell设计目标

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

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

与接受和返回文本的大多数外壳程序不同,WindowsPowerShell是在.NET公共语言运行时(CLR)和.NETFramework的基础上构建的,它接受和返回.NET对象。

环境中的这一根本更改带来了管理和配置Windows的全新工具和方法。

WindowsPowerShell引入了cmdlet(读作“command-let”)的概念,这是内置到外壳程序中的一个简单的单一功能命令行工具。

可以分别使用每个cmdlet,但是组合使用这些简单的工具执行复杂任务时才发挥其作用。

WindowsPowerShell包括一百多个基本的核心cmdlet,您可以编写自己的cmdlet并与其他用户共享它们。

与许多外壳程序一样,WindowsPowerShell为您提供了对计算机上文件系统的访问。

此外,使用WindowsPowerShell提供程序,还可以访问其他数据存储区,如注册表和数字签名证书存储区,与访问文件系统一样容易。

本入门指南对WindowsPowerShell进行了介绍:

语言、cmdlet、提供程序和对象的使用。

主旨

本文档的主旨是帮助WindowsPowerShell用户了解WindowsPowerShell的入门知识。

本文档介绍开始使用外壳程序时所需的外壳程序功能。

有关外壳程序的详细分析、其功能以及如何使用外壳程序的示例,请参阅“WindowsPowerShell入门”。

WindowsPowerShell简介

大多数外壳程序(包括Cmd.exe以及SH、KSH、CSH和BASHUnix外壳程序)的运行方式是在新进程中执行命令或实用工具,然后将结果以文本形式显示给用户。

经过数年的发展,许多文本处理实用工具(如sed、AWK和PERL)现已发展为支持此交互。

这些外壳程序还具有内置到外壳程序中并在外壳程序进程中运行的命令,如KSH中的typeset命令和Cmd.exe中的dir命令。

在大多数的外壳程序中,由于内置命令很少,因此创建了许多实用工具。

WindowsPowerShell有很大不同。

∙WindowsPowerShell不处理文本。

相反,它基于.NET平台处理对象。

∙WindowsPowerShell附带了具有一致界面的大量内置命令。

∙所有的外壳程序命令都使用同一命令分析程序,而不是每个工具使用不同的分析程序。

这样便可更轻松地学习如何使用每个命令。

其最好的优点在于,您不必忍痛舍弃自己惯用的工具。

仍可以在WindowsPowerShell中使用传统的Windows工具,如Net、SC和Reg.exe。

WindowsPowerShellCmdlet

cmdlet(读作“command-let”)是WindowsPowerShell中用于操作对象的单功能命令。

可以通过其名称格式识别cmdlet--由短划线(-)分隔的动词和名词,如Get-Help、Get-Process和Start-Service。

在传统的外壳程序中,命令是从非常简单(如attrib.exe)到非常复杂(如netsh.exe)的可执行程序。

在WindowsPowerShell中,大多数cmdlet都非常简单,它们设计为与其他cmdlet组合使用。

例如,“get”cmdlet仅检索数据,“set”cmdlet仅建立或更改数据,“format”cmdlet仅设置数据格式,“out”cmdlet仅将输出定向到指定的目标。

每个cmdlet都具有一个帮助文件,可以通过键入以下内容访问它:

get-help-detailed

cmdlet帮助文件的详细视图包括cmdlet说明、命令语法、参数说明和说明cmdlet用法的示例。

新脚本语言

由于以下原因,WindowsPowerShell使用它自己的语言,而不是重用现有的语言:

∙WindowsPowerShell需要用于管理.NET对象的语言。

∙该语言需要为使用cmdlet提供一致的环境。

∙该语言需要支持复杂的任务,而不会使简单的任务变得更复杂。

∙该语言需要与在.NET编程中使用的高级语言(如C#)一致。

Windows命令和实用工具

可以在WindowsPowerShell中运行Windows命令行程序,并可以在外壳程序中启动具有图形用户界面的Windows程序(如记事本和计算器)。

还可以捕获程序生成的文本,并在外壳程序中使用该文本(与在Cmd.exe中很类似)。

处理对象

虽然您最初可能没有意识到,但是在WindowsPowerShell中工作时,所使用的是.NET对象。

随着您经验的增加,对象处理能力变得更明显,而且您发现自己使用的是对象,甚至用对象进行思考。

从技术上讲,.NET对象是.NET类的实例,包含数据以及与该数据关联的操作。

但是,可以将对象视为具有属性(与特性类似)和方法(可以对对象执行的操作)的数据实体。

例如,在WindowsPowerShell中获取服务时,实际上是获取表示该服务的对象。

查看有关服务的信息时,所查看的是其服务对象的属性。

此外,启动服务时(即,在将服务的Status属性更改为“started”时),所使用的是服务对象的方法。

类型相同的所有对象都具有相同的属性和方法,但是对象的每个实例可能具有不同的属性值。

例如,每个服务对象都具有Name和Status属性。

但是,每个服务都可以具有不同的名称和不同的状态。

准备就绪后,了解对象是很容易的。

若要查明cmdlet正获取对象的类型,请使用管道运算符(|)将“get”命令的结果发送到Get-Member命令。

例如,以下命令将Get-Service命令检索的对象发送到Get-Member。

get-service|get-member

Get-Member显示有关服务对象的信息,其中包括对象的类型名称及其属性和方法的列表。

TypeName:

System.ServiceProcess.ServiceController

NameMemberTypeDefinition

------------------------

NameAliasPropertyName=ServiceName

add_DisposedMethodSystem.Voidadd_Disposed(EventHandlervalue)

CloseMethodSystem.VoidClose()

ContinueMethodSystem.VoidContinue()

...

若要获取有关对象类的信息,请在MSDN中复制并粘贴类型名称,如System.ServiceProcess.ServiceController。

找到类后,可以阅读MSDN副主题,以了解基于该类的对象(如WindowsPowerShell中的对象)的属性和方法。

若要查找特定对象的所有属性的值,请使用管道运算符(|)将“get”命令的结果发送到Format-List或Format-Table命令。

将formatcmdlet的Property参数与表示所有的值(*)一起使用。

例如,若要查找系统上Schedule服务的所有属性,请键入:

get-serviceschedule|format-list-property*

以下显示一个结果示例。

Name:

Schedule

CanPauseAndContinue:

True

CanShutdown:

True

CanStop:

True

DisplayName:

TaskScheduler

DependentServices:

MachineName:

.

ServiceName:

Schedule

ServicesDependedOn:

{RpcSs}

ServiceHandle:

SafeServiceHandle

Status:

Running

ServiceType:

Win32ShareProcess

Site:

Container:

最初学习WindowsPowerShell时,无需了解有关对象的任何信息,但是要意识到该概念。

您将很快能够充分利用对象。

对象管道

使用对象的一个主要优点是,它使得用管道传输命令(即,将一个命令的输出作为输入传递到另一命令)容易得多。

通信通常需要字符串操作,以便将输出从一种格式转换为另一种格式,并删除标题和列标题。

WindowsPowerShell提供了一个基于对象而不是基于文本的新交互模型。

接收对象的cmdlet可以直接作用于其属性和方法,而无需进行转换或操作。

用户可以通过名称引用对象的属性和方法,而不是计算数据在输出中的位置。

在以下示例中,将IpConfig命令的结果传递到Findstr命令。

管道运算符(|)将其左侧命令的结果发送到其右侧的命令。

在Microsoft®Windows®PowerShell中,无需操作字符串或计算数据偏移量。

PS>ipconfig|findstr"Address"

IPAddress............:

172.28.21.5

IPAddress............:

172.30.160.225

交互和脚本

交互式环境

与其他外壳程序一样,WindowsPowerShell支持完全交互式环境。

在提示符下键入命令后,将处理该命令并在外壳程序窗口中显示输出。

可以将命令输出发送到文件或打印机,也可以使用管道运算符(|)将输出发送到其他命令。

对脚本的支持

如果重复运行特定的命令或命令序列,或者如果开发一系列命令来执行复杂的任务,则会希望在文件中保存命令并执行命令文件,而不是在提示符下键入命令。

保存有命令的文件称为脚本。

WindowsPowerShell除了提供交互式界面外,还完全支持脚本。

在WindowsPowerShell中,脚本文件的文件扩展名为.ps1。

若要运行脚本,请在命令提示符下键入该脚本的名称。

文件扩展名是可选的。

例如:

c:

\test\testscript.ps1

c:

\test\testscript

即使脚本在当前目录中,也必须指定脚本文件的完全限定路径。

若要指示当前目录,请键入目录名称或使用点(.)表示当前目录。

例如:

.\testscript.ps1

虽然脚本在一些企业中非常有用--甚至是必需的,但是它们可以用于传播恶意代码。

因此,WindowsPowerShell中的安全策略(称为执行策略)允许您确定脚本是否可以运行,以及它们是否必须包括数字签名。

为了消除明显的风险,WindowsPowerShell中的执行策略都不允许通过双击脚本的图标来运行它。

有关详细信息,请键入:

get-helpabout_signing

WindowsPowerShell还包括一种非常丰富的脚本语言,使用该语言可以创建从最简单到非常复杂的脚本。

它支持用于循环、条件、流控制和变量赋值的语言结构。

启动WindowsPowerShell

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

若要从“运行”框启动WindowsPowerShell,请单击“开始”,再单击“运行”,然后键入:

powershell

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

powershell

若要查看用于启动WindowsPowerShell的选项,请在命令提示符窗口中键入:

powershell-?

在WindowsPowerShell打开时,可以使用Get-Helpcmdlet查找帮助。

在WindowsPowerShell命令提示符下,键入:

get-help

使用WindowsPowerShell

本节介绍使用WindowsPowerShell的基本知识。

首先介绍Get-Helpcmdlet,该cmdlet显示有关WindowsPowerShell中cmdlet和概念性主题的信息。

然后,介绍几个基本的cmdlet,说明如何使用cmdlet参数,然后说明如何设置cmdlet输出的格式以获取有用显示中所需的数据。

最后的主题说明如何使用别名以便更容易地使用WindowsPowerShell,如何在WindowsPowerShell中运行传统的Windows程序,以及如何管理错误。

Get-Help:

获取帮助

Get-Helpcmdlet是用于了解WindowsPowerShell的有用工具。

通过阅读cmdlet的说明、了解有关概念并浏览语言主题,您可以开始了解如何使用WindowsPowerShell了。

感兴趣的第一个主题可能是帮助系统。

若要显示有关WindowsPowerShell中帮助系统的信息,请键入:

get-help

然后,您可能会对了解几个基本的cmdlet(如Get-Help、Get-Command、Get-Process、Get-Service和Get-Eventlog)感兴趣。

若要显示cmdlet的帮助的最简单视图,请键入“get-help”,后跟该cmdlet的名称。

例如,若要获取Get-Commandcmdlet的帮助,请键入:

get-helpget-command

如果cmdlet帮助的格式设置不正确(即,如果它以XMLNS标记开头),则可能是系统上的WindowsPowerShell执行策略阻止系统加载用于设置cmdlet帮助格式的配置文件。

有关执行策略的信息,请键入:

get-helpabout_signing

若要显示cmdlet的详细帮助,包括参数说明和示例,请使用Get-Help的Detailed参数。

例如,若要获取Get-Commandcmdlet的详细帮助,请键入:

get-helpget-command-detailed

若要显示cmdlet的所有可用帮助,包括有关cmdlet及其参数的技术信息,请使用Full参数。

例如,若要获取Get-Commandcmdlet的完整帮助,请键入:

get-helpget-command-full

也可以显示帮助文件的所选部分。

若要仅查看示例,请使用Examples参数。

例如,若要显示Get-Commandcmdlet的示例,请键入:

get-helpget-command-examples

若要仅查看详细的参数说明,请使用Get-Help的Parameter参数。

可以指定参数的名称,或者使用通配符(*)指定所有参数。

例如,若要查看Get-Command的TotalCount参数说明,请键入:

get-helpget-command-parametertotalcount

若要查看Get-Commandcmdlet的所有参数,请键入:

get-helpget-command-parameter*

也可以使用调用Get-Help的WindowsPowerShell函数之一。

Help函数一次显示一整屏帮助内容。

Man函数显示与Unix中的手册页类似的帮助。

若要使用Help和Man函数显示Get-Commandcmdlet的帮助,请键入:

manget-command

helpget-command

请求特定的帮助主题时,Get-Help将显示该主题的内容。

但是使用通配符请求多个主题时,Get-Help将显示一个主题列表。

例如,若要查看“Get”cmdlet的帮助主题列表,请键入:

get-helpget-*

有关WindowsPowerShell中概念的帮助以“about_”开头。

若要显示有关WindowsPowerShell概念的帮助,请键入“get-help”,后跟概念名称。

例如,若要获取有关通配符的帮助,请键入:

get-helpabout_wildcard

若要显示WindowsPowerShell中所有概念性帮助主题的列表,请键入:

get-helpabout_*

通过阅读帮助主题并尝试示例,您将了解WindowsPowerShell的工作原理以及在您的工作中如何使用它。

使用Cmdlet

cmdlet(读作“command-let”)是一个内置到外壳程序中的简单的单一功能命令行工具。

可以就像使用传统的命令和实用工具那样使用cmdlet。

首先在WindowsPowerShell命令提示符下键入cmdlet的名称。

WindowsPowerShell命令不区分大小写,因此可以用任意大小写键入。

例如,可以尝试Get-Datecmdlet:

C:

\PS>get-date

2005年11月10日,星期四,下午4:

43:

50

若要在会话中列出cmdlet,请使用Get-Commandcmdlet,且不带任何命令参数。

PS>get-command

CommandTypeNameDefinition

-------------------------

CmdletAdd-ContentAdd-Content[-Path]

CmdletAdd-HistoryAdd-History[[-InputObject]...

CmdletAdd-MemberAdd-Member[-MemberType]

...

默认的Get-Command显示有以下三列:

CommandType、Name和Definition。

列出cmdlet时,Definition列显示cmdlet的语法。

语法中的省略号(…)指示数据被截断。

Get-Commandcmdlet还获取除cmdlet之外的命令和命令元素,其中包括在WindowsPowerShell中可用的别名(命令昵称)、函数和可执行文件。

通过使用Get-Command的Name参数,以下命令列出了在WindowsPowerShell中可用的可执行文件。

PS>get-command*.exe

CommandTypeNameDefinition

-------------------------

Application000StTHK.exeC:

\WIN

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2