【文档说明】第10章_Windows_PowerShell脚本编程课件.ppt,共(34)页,462.000 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45482.html
以下为本文档部分文字说明:
2022年11月26日第10章WindowsPowerShell脚本编程10.1PowerShell概述10.1.1PowerShell简介10.1.2PowerShell的运行环境10.2PowerShell的安装及配置10.2.1在WindowsServer2008中安装PowerSh
ell10.2.2使用VBScript验证安装10.2.3配置PowerShell10.2.4PowerShell的使用运行10.3获取WindowsPowershell帮助10.4Powershellcmdlet命令第
10章WindowsPowerShell脚本编程10.4.1cmdlet介绍10.4.2cmdlet中的一些常用命令10.5PowerShell脚本语言语法10.5.1使用变量和常量10.5.2使用For语句10.5.3使用判断语句10
.5.4使用数据类型10.6使用PowerShell管理Windows10.6.1查看网络设置10.6.2配置DNS服务器设置10.6.3添加用户到域组【本章提要】•WindowsPowerShell的概述•PowerShell的安装及配置•如何使
用PowerShell管理Windows基本内容•可以初步地将WindowsPowerShell理解为微软早期版本操作系统中的CMD.exe命令工具集,但与此相比,WindowsPowerShell的功能更加强大,使用方式更加灵活。Window
sPowerShell作为WindowsServer2008提供的重大改进之一,已成为WindowsServer2008的一个组件。本章将讨论PowerShell的基本概念、特点及语法,并介绍如何利用PowerShell对Wind
ows进行基本管理。10.1PowerShell概述•10.1.1PowerShell简介•WindowsPowerShell包括一个全新的基于任务的命令行外壳,以及特别设计的用于系统管理的脚本语言。它构建于.NETFramework的基础之上,因此Wind
owsPowerShell也可以运行在支持.NETFramework的操作系统平台上。•WindowsPowerShell内置的命令为cmdlets,用户可以使用cmdlets命令以命令行的方式来管理计算机,而且WindowsPowerShell还具有完
整的用户开发的脚本语言和丰富的表达式解析程序。10.1.2PowerShell的运行环境•目前可以安装WindowsPowershell程序包的系统如下:1.安装有SP2补丁程序包的WindowsXP。2.安装有SP1补丁程序包的WindowsS
erver20033.WindowsVista及WindowsServer2008。另外由于WindowsPowershell构建于Microsfot.NET框架之上,因此安装该工具包需要Micros
fot.NETFramework2.0及以上版本的环境。10.2PowerShell的安装及配置10.2.1在WindowsServer2008中安装PowerShell•1.选择“开始”|“所有程序”|“管理工具”|“服务器管理器”菜单命令•
2.选择“功能”选项,右侧选择“添加功能”,便会弹出“添加功能向导”窗口。•3.在“添加功能向导”窗口中间的列表框中,选择“WindowsPowershell”,然后单击“下一步”按钮。安装向导就会自动安装,并将安装完成的结果反馈给用户。10.2.2使用VBScript验证安装•因为W
indowsPowershell目前没有被默认安装在微软已发布的任何操作系统上,因此在使用前,需要确认目标平台是否已经安装了WindowsPowershell。运行脚本步骤:•方法一:将脚本复制到C盘根目录下,点击“开始”菜单,选择“运行”,输入“cmd”回车,再输入命令“c:/Find
PowerShell.vbs”回车了;•方法二:直接双击该脚本文件运行。•如果系统安装了PowerShell,脚本会显示“PowerShellispresentonyourcomputer”的字样。10.2.3配置PowerShell•创建WindowsPowershell配
置文件•WindowsPowershell的配置文件中可以保存很多设置,这些内容可以保存在psconsole文件中。如果要到处这些psconsole配置文件,可以使用Export-Consolecmdlet命令。方法如下:首先启动安装好的
Powershell,在命令窗口中输入如下命令并回车:•PSC:\>Export-Consolemyconsole10.2.3配置PowerShell•配置WindowsPowershell启动选项•WindowsPowershellde启动方式有很多,如果双击默认的Window
sPowershell图标后启动的窗口可以满足需要,直接使用即可。另外,我们还可以使用不同的配置文件启动WindowsPowershell,甚至可以在运行某个WindowsPowershell命令后自动退出。如果需要启动特定版本的WindowsPow
ershell,则可以在启动时为version参数提供不同的值。10.2.4PowerShell的使用运行•安装及配置好Powershell之后,按照如下方法运行:•方法1:选择“开始”-----“所有程序”-----“WindowsPowershell1.0”-----“Window
sPowershell”菜单命令,即可打开,如图所示。•方法2:选择“开始”-----“运行”菜单命令,在弹出的对话框中输入“Powershell”即可启动。•方法3:在命令提示符环境下,输入“Powershell”即可启动10.3获取WindowsPowershell帮助
•方法1:WindowsPowershell安装后自带的帮助文档。在WindowsPowershell安装完毕后,在开始菜单中就包含了帮助文档的快捷方式。•方法2:获取帮助的内置命令。Help命令:显示命令列表或某一命令的帮助
信息。Get-help命令:显示有关WindowsPowershell和概念的帮助。•方法3:微软官方网站中的WindowsPowershell专题等网站。10.4Powershellcmdlet命令•10.4.1cmdlet介绍•WindowsPowershell支持完全的命令行交
互式(CLI)环境。在命令提示符下输入命令后,系统将处理该命令并将结果显示输出在外壳程序窗口中。•cmdlet是指由WindowsPowershell团队创建的原生命令,这些命令类似可执行程序,但因为内建于Window
sPowershell中,因此非常易于使用。•WindowsPowershell自带120多个cmdlet,可以帮助网络管理员在不用学习WindowsPowershell脚本语言的情况下充分享受到WindowsPowershell带来的各种便利。10.4.2cmdlet中的一些常用命令1、
可用的cmd和UNIX命令可以利用如下方法查看这些别名所对应的WindowsPowershell的实际命令:Get-alias<简写命令>例:PSC:\Users\Administrator>get-aliascat10.4.2cmdlet中
的一些常用命令(续)2、格式控制命令WindowsPowershell还提供了一组用于控制特定对象的显示属性的cmdlet命令。他们包括Format-Wide、Format-List、Format-Table和Format-Custom。F
ormat-Wide:将对象的格式设置为只能显示每个对象的一个属性的宽表。Format-List:将输出的格式设置为属性列表,其中每个属性均各占一行显示。Format-Table:将输出的格式设置为表。Format-Custom:
使用自定义视图来设置输出的格式。10.4.2cmdlet中的一些常用命令(续)3、重定向数据类命令默认情况下,WindowsPowershell的大部分命令是将数据输出到屏幕显示。而重定向数据类的命令可将数据重新发送到另外的输出设备。这些命
令主要包括Out-Host、Out-Null、Out-Printer和Out-File。Out-Host:将输出发送到WindowsPowershell主机进行显示。主机将在命令行显示输出。由于Out-Ho
st是默认设置,因此除非想使用其参数来更改显示,否则不需要指定它。主要使用该命令实现数据分页。10.4.2cmdlet中的一些常用命令(续)•Out-Null:删除输出,不将其发送到控制台。如果不需要获取运行命令输出的数据,则可
以放弃这些数据,此时Out-Null命令就很有作用。•Out-Printer:将输出发送到默认打印机或备用打印机(如果制定了打印机)。通过制定打印机的显示名称,可以使用任何基于Windows的打印机。无需指定任何种类的打印机端口映射,设置无需指定实际的物理打印机。•
Out-File:将输出发送到文件。如果需要使用它的参数,可以使用此命令而不是重定向运算符(>)。10.4.2cmdlet中的一些常用命令(续)4、导航定位命令在WindowsPowershell中提供了导航的命令。这些导航是指在驱动器之间更换位置
的操作。在文件系统中导航•Set-Location:将当前位置更换为制定路径。其别名为cd。•Get-Childitem:获取某个位置中的子项。其别名为dir和ls。•Get-Item:获取位于制定位置的项的内容。•New-Item:在命名空间
中创建新项(包括文件或文件夹或注册表项等)。此命令还可以设置新项的值。•Remove-Item:删除指定的项。可以删除一个或多个项(包括文件、目录、注册表项、别名、证书和函数)。•Copy-Item:将一个位置复制到命名空间的另一个位置。其中符号“.”表示当前目录;符
号“*”表示目录内容;$home表示目录的内置变量;$pshome表示WindowsPowershell安装目录的内置变量。10.4.2cmdlet中的一些常用命令(续)在注册表中导航•可以使用与文件系统驱动器中相
同导航方法在Windows注册表中导航。在WindowsPowershell中,注册表项“HKEY_LOCAL_MACHINE”映射到WindowsPowershellHKLM:驱动器,而注册表项“HKEY
_CURRENT_USER”映射到WindowsPowershellHKCU:驱动器。•如下图,表示在注册表项中进行导航。10.4.2cmdlet中的一些常用命令(续)在证书存储区中导航•可以在计算机
上的数字签名证书存储区中导航。证书存储区映射到WindowsPowershellCert:驱动器。•如图所示,表示在证书存储区中导航。10.4.2cmdlet中的一些常用命令(续)•在其他驱动器中导航除了上述3类驱动器外,WindowsPowershell还提供了其他有用的驱动器,其中
包括别名驱动器(Alias:)、环境提供程序驱动器(Env:)、函数驱动器(Funciton:)、和变量驱动器(Variable:)。使用相同的方法就可以在这些驱动器中导航。10.5PowerShell脚本语言语法•10.5.1使用变量和常量WindowsPowers
hell中变量的默认规则是:在使用某一变量之前,没必要提前声明该变量,只需要在使用变量保存数据时声明即可。并且所有变量名称前都必须包含一个美元符号。WindowsPowershell中常量类似于变量,但又有两点区别:常量的值永远不会发生变化;常量无法被删除。常量可以使用Set-Variab
lecmdlet创建,指派-option参数即可创建常量。例:$computername=“mycomputer”Set-Variable–nameintDriveType–value3–optionconstant这里设置了变量computername和常量intDrive
Type。10.5.2使用For语句•For语句可以用于控制脚本块在符合要求的情况下执行。大部分时候,可以使用for语句执行需要重复多次的操作。For语句的结构例可以使用小括号将需要求值的表达式于包含在大括号中的代码分隔开。如
下例:•for($a=1;$a–le3;$a++){“hello”}•for括号里的表达式主要分成三部分:第一部分是变量$a,并为其赋值“1”;第二部分则包含了计算条件,表示变量$a值不大于数字“3”,这样代码块部分包含的命令才会被运行;第三部分则表示给变量$a的
值增加“1”。这行代码最后输出3个“hello”的字样。7.5.3使用判断语句•在脚本中对分支的控制进行判断是一项基本技术,事实上,这也是自动化操作的基础。这个过程中需要判断并评估每种情况,并决定需要进行的操作。•if„els
e是最基本的判断语句,这个结构容易被理解,适合一般的会话。例如:可以考虑下列两个天气情况:if(sunnyandwarm){gotopark}elseif(cloudyandcool){goshopping}else{
stayathome}7.5.3使用判断语句(续)•在其他编程语言中,switch也叫“选择情况”语句(selectcase),它与if„else语句不同,它可以提供一系列可能的匹配条件来进行判断选择。这种方法的本质也可以看成if„elseif„else语句。•
在使用switch语句的时候,需要判断的条件会包含在括号内。然后,每个需要判断条件都会放在代码块内大括号的内部,如下所示的一个简单例子:$a=3;switch($a){1{“onedetected”}2{“twodetected”
}3{“threedetected”}}•因为这里的变量a被赋值为3,所以在switch语句中,它会选择大括号中符合条件的3执行“threedetected”。7.5.4使用数据类型•WindowsPowershell是一种强类型语言,不过在表现上上却像是无类型的。
这是因为WindowsPowershell在监测数据类型并采取相应操作方面做得很好。如果某个东西是字符串,WindowsPowershell就会将其当作字符串处理。•例如,考虑如下三条语句:PSC:\>1+1PSC:\>12:00+:30PSC:\>a+b•只有第
一条语句能成功执行,因为在WindowsPowershell中,可以将内容正确监测为数字,并允许进行加法操作,然而,时间和字母是无法相加的。但是如果将字母a和b用双引号引用,然后相加,操作就会成功。10.6使用PowerShell管理Windows•因
为WindowsPowershell中的脚本在默认情况下并没有启用,因此在部署或运行任何脚本或命令之前,还需要验证平台对脚本的支持级别。如果没有启动支持就尝试运行WindowsPowershell脚本,就会看到错误信息。脚本也无
法运行。在WindowsPowershell中,通过使用Set-ExecutionPoliycmdlet,可以设置4个不同级别的执行策略,这4个级别的详细信息如下表所示。10.6.1查看网络设置•下面的一个脚本例子GetNetAdapterStatus.ps1,可以用于产看本地计算机上现有的每
个网络适配器的状态。•完整的GetNetAdapterStatus.ps1脚本见教材P215页。10.6.2配置DNS服务器设置•在微软的域名系统(DNS)中包含很多设置,虽然其中大部分设置很少需要调整,但数量众多的选项卡使得重要选项很容易被遗漏,此时使用WindowsPowershe
ll脚本就可以用批量的模式同时调整多个选项,通过使用SetDNSServerConfig.ps1脚本,可以调整脚本接受对DNS服务器配置的任何属性或值的设置。通过此脚本,还可以同时调整多个参数。•完整的SetDNSServerConfig.ps1
脚本见教材P217页。10.6.3添加用户到域组•首先要连接到组,再将用户添加到域组中。在教材所示的AddUserToGroup.ps1脚本,开头用到的是param()语句,在这里可以提供用户和组的名称以及他们所在的域名称。其代码见教材P219页。习题10•10.1什么是PowerShell?
它的运行环境是什么?•10.2什么是Powershellcmdlet命令?它有哪些常用命令?其语法是什么?•10.3简要描述如何配置Powershell。•10.4请描述创建Powershell脚本及其运行方法。实训10使用PowerShell
管理Windows网络•10.1在WindowsServer2008中安装好PowerShell,并对其进行初始配置。•10.2利用PowerShell脚本查看DNS设置,并对其进行配置。•10.3使用PowerShell编程,创建域用户。