PowerShell基础教程Word文档下载推荐.docx

上传人:b****6 文档编号:16505579 上传时间:2022-11-24 格式:DOCX 页数:18 大小:26.71KB
下载 相关 举报
PowerShell基础教程Word文档下载推荐.docx_第1页
第1页 / 共18页
PowerShell基础教程Word文档下载推荐.docx_第2页
第2页 / 共18页
PowerShell基础教程Word文档下载推荐.docx_第3页
第3页 / 共18页
PowerShell基础教程Word文档下载推荐.docx_第4页
第4页 / 共18页
PowerShell基础教程Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

PowerShell基础教程Word文档下载推荐.docx

《PowerShell基础教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《PowerShell基础教程Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

PowerShell基础教程Word文档下载推荐.docx

每种Cmdlet都具备可在输入下列命令时加以显示的说明文件:

get-help<

cmdlet名称>

-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-Member命令。

例如,下列命令会将Get-Service命令所提取的对象传送Get-Member。

get-service|get-member

Get-Member会显示该服务对象的相关信息,其中包括对象的Typename,以及包含此对象属性和方法的列表。

TypeName:

System.ServiceProcess.ServiceController

Name 

MemberType 

Definition

---- 

---------- 

----------

AliasPropertyName=ServiceName

add_Disposed 

Method 

System.Voidadd_Disposed(EventHandlervalue)

Close 

System.VoidClose()

Continue 

System.VoidContinue()

如需取得对象类型的相关信息,请复制和粘贴Typename(例如,System.ServiceProcess.ServiceController)到MSDN中。

当找到类型时,你就可以读取相关MSDN子主题来认识以该类型为基础的对象的属性和方法,例如出现在WindowsPowerShell中的对象。

若要找出特定对象的所有属性值,请使用管道运算符(|)将"

命令的结果传送到Format-List或是Format-Table命令。

请配合所有(*)的值来使用这些Formatcmdlet的Property参数。

例如,若要找出系统中Schedule服务的所有属性,请输入:

get-serviceschedule|format-list-property

下面内容显示结果范例。

:

Schedule

CanPauseAndContinue:

True

CanShutdown 

CanStop 

DisplayName 

TaskScheduler

DependentServices 

{}

MachineName 

.

ServiceName 

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

172.30.160.225

PowerShell基础教程二:

WindowsPowerShell中的交互式和脚本

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

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

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

对脚本的支持

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

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

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

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

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

文件扩展名是可选的。

例如:

c:

\test\testscript.ps1

\test\testscript

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

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

.\testscript.ps1

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

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

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

有关详细信息,请键入:

get-helpabout_signing

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

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

PowerShell基础教程三:

WindowsPowerShell使用初步

单击“开始”、“所有程序”、WindowsPowerShell1.0和WindowsPowerShell。

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

powershell

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

若要查看用于启动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中帮助系统的信息,请键入:

>

然后,您可能会对了解几个基本的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,且不带任何命令参数。

get-command

CommandType 

Name 

----------- 

---- 

Cmdlet 

Add-Content 

Add-Content[-Path]<

String[...

Add-History 

Add-History[[-InputObject]...

Add-Member 

Add-Member[-MemberType]<

PS...

...

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

CommandType、Name和Definition。

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

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

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

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

get-command*.exe<

CommandTypeName 

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

Application000StTHK.exe 

C:

\WINDOWS\system32\000StTHK.exe

Application00THotkey.exe 

\WINDOWS\system32\00THotkey.exe

Applicationaccwiz.exe 

\WINDOWS\system32\accwiz.exe

列出可执行文件时,Defintion列包含可执行文件的完整路径。

然后,尝试一些其他cmdlet,如Get-Process、Get-Service、Get-EventLog和Get-Alias。

如果对简单的“Get-”cmdlet已非常熟悉,请尝试更有趣的cmdlet,如Get-WmiObject。

此cmdlet非常有用,因为使用它可以查看和更改远程计算机的组件。

例如,以下命令获取有关Server01远程计算机上BIOS的信息:

get-wmiobjectwin32_bios-computernameserver01

如果需要任何cmdlet的帮助,请键入:

get-helpget-alias-detailed。

了解对象:

Get-Member

Get-Member是最有用的cmdlet之一,它显示有关命令返回的.NET对象的信息。

该信息包括对象的类型、属性和方法。

若要使用Get-Member,请使用管道运算符(|)将命令结果发送到Get-Member。

此命令显示Get-Service实际上返回了一组System.ServiceProcess.ServiceController对象--计算机上的每个服务都有一个对象。

TypeName:

System.ServiceProcess.ServiceController

CreateObjRef 

System.Runtime.Remoting.ObjRefCreateObjRef(TyperequestedType)

Dispose 

System.VoidDispose()

Equals 

 

Method 

System.BooleanEquals(Objectobj)

ExecuteCommand 

System.VoidExecuteCommand(Int32command)

get_CanPauseAndContinue 

System.Booleanget_CanPauseAndContinue()

get_CanShutdown 

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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