收藏 分销(赏)

第10章-Windows-PowerShell脚本编程.ppt

上传人:精*** 文档编号:1693085 上传时间:2024-05-07 格式:PPT 页数:34 大小:463KB
下载 相关 举报
第10章-Windows-PowerShell脚本编程.ppt_第1页
第1页 / 共34页
第10章-Windows-PowerShell脚本编程.ppt_第2页
第2页 / 共34页
第10章-Windows-PowerShell脚本编程.ppt_第3页
第3页 / 共34页
第10章-Windows-PowerShell脚本编程.ppt_第4页
第4页 / 共34页
第10章-Windows-PowerShell脚本编程.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、2024年年4月月19日日第第1010章章 Windows PowerShell Windows PowerShell 脚本编程脚本编程10.1 PowerShell概述概述10.1.1 PowerShell简介简介10.1.2 PowerShell的运行环境的运行环境10.2 PowerShell 的安装及配置的安装及配置10.2.1 在在Windows Server 2008中安装中安装PowerShell10.2.2 使用使用VBScript验证安装验证安装10.2.3 配置配置PowerShell10.2.4 PowerShell的使用运行的使用运行10.3 获取获取Windows P

2、owershell帮助帮助10.4 Powershell cmdlet命令命令第第1010章章 Windows PowerShell Windows PowerShell 脚本编程脚本编程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 配置配置D

3、NS服务器设置服务器设置10.6.3 添加用户到域组添加用户到域组【本章提要本章提要】Windows PowerShell的概述的概述PowerShell 的安装及配置的安装及配置如何使用如何使用PowerShell管理管理Windows基本内容基本内容可以初步地将可以初步地将Windows PowerShell理解为理解为微软早期版本操作系统中的微软早期版本操作系统中的CMD.exe命令工命令工具集,但与此相比,具集,但与此相比,Windows PowerShell的功能更加强大,使用方式更加灵活。的功能更加强大,使用方式更加灵活。Windows PowerShell作为作为Windows

4、Server 2008提供的重大改进之一,已成为提供的重大改进之一,已成为Windows Server 2008的一个组件。本章将的一个组件。本章将讨论讨论PowerShell的基本概念、特点及语法,的基本概念、特点及语法,并介绍如何利用并介绍如何利用PowerShell对对Windows进进行基本管理。行基本管理。10.1 PowerShell10.1 PowerShell概述概述10.1.1 PowerShell简介简介Windows PowerShell包括一个全新的基于任务的包括一个全新的基于任务的命令行外壳,以及特别设计的用于系统管理的脚本命令行外壳,以及特别设计的用于系统管理的脚本

5、语言。它构建于语言。它构建于.NET Framework的基础之上,因的基础之上,因此此Windows PowerShell也可以运行在支持也可以运行在支持.NET Framework的操作系统平台上的操作系统平台上。Windows PowerShell内置的命令为内置的命令为cmdlets,用户用户可以使用可以使用cmdlets命令以命令行的方式来管理计算命令以命令行的方式来管理计算机,而且机,而且Windows PowerShell还具有完整的用户还具有完整的用户开发的脚本语言和丰富的表达式解析程序。开发的脚本语言和丰富的表达式解析程序。10.1.2 PowerShell10.1.2 Po

6、werShell的运行环境的运行环境目前可以安装目前可以安装Windows Powershell程序包的系统如程序包的系统如下:下:1.安装有安装有SP2补丁程序包的补丁程序包的Windows XP。2.安装有安装有SP1补丁程序包的补丁程序包的Windows Server 2003 3.Windows Vista及及Windows Server 2008。另外由于另外由于Windows Powershell构建于构建于Microsfot.NET框架之上,因此安装该工具包需要框架之上,因此安装该工具包需要Microsfot.NET Framework2.0及以上版本的环境。及以上版本的环境。1

7、0.2 PowerShell 10.2 PowerShell 的安装及配置的安装及配置10.2.1 在在Windows Server 2008中安装中安装PowerShell1.选择选择“开始开始”|“所有程序所有程序”|“管理工具管理工具”|“服服务器管理器务器管理器”菜单命令菜单命令 2.选择选择“功能功能”选项,右侧选择选项,右侧选择“添加功能添加功能”,便,便会弹出会弹出“添加功能向导添加功能向导”窗口。窗口。3.在在“添加功能向导添加功能向导”窗口中间的列表框中,选择窗口中间的列表框中,选择“Windows Powershell”,然后单击,然后单击“下一步下一步”按钮。按钮。安装向

8、导就会自动安装,并将安装完成的结果反馈安装向导就会自动安装,并将安装完成的结果反馈给用户。给用户。10.2.2 10.2.2 使用使用VBScriptVBScript验证安装验证安装因为因为Windows Powershell目前没有被默认安装在目前没有被默认安装在微软已发布的任何操作系统上,因此在使用前,需微软已发布的任何操作系统上,因此在使用前,需要确认目标平台是否已经安装了要确认目标平台是否已经安装了Windows Powershell。运行脚本步骤:。运行脚本步骤:方法一:将脚本复制到方法一:将脚本复制到C盘根目录下,点击盘根目录下,点击“开始开始”菜单,选择菜单,选择“运行运行”,输

9、入,输入“cmd”回车,再输回车,再输入命令入命令“c:/FindPowerShell.vbs”回车了;回车了;方法二:直接双击该脚本文件运行。方法二:直接双击该脚本文件运行。如果系统安装了如果系统安装了PowerShell,脚本会显示,脚本会显示“PowerShell is present on your computer”的字的字样。样。10.2.3 10.2.3 配置配置PowerShellPowerShell创建创建Windows Powershell配置文件配置文件Windows Powershell的配置文件中可以保存很多的配置文件中可以保存很多设置,这些内容可以保存在设置,这些内

10、容可以保存在psconsole文件中。如文件中。如果要到处这些果要到处这些psconsole配置文件,可以使用配置文件,可以使用Export-Console cmdlet命令。方法如下:首先启命令。方法如下:首先启动安装好的动安装好的Powershell,在命令窗口中输入如下命在命令窗口中输入如下命令并回车:令并回车:PS C:Export-Console myconsole10.2.3 10.2.3 配置配置PowerShellPowerShell配置配置Windows Powershell启动选项启动选项Windows Powershellde 启动方式有很多,如果启动方式有很多,如果双击

11、默认的双击默认的Windows Powershell图标后启动的窗图标后启动的窗口可以满足需要,直接使用即可。另外,我们还口可以满足需要,直接使用即可。另外,我们还可以使用不同的配置文件启动可以使用不同的配置文件启动Windows Powershell,甚至可以在运行某个,甚至可以在运行某个Windows Powershell命令后自动退出。如果需要启动特定命令后自动退出。如果需要启动特定版本的版本的Windows Powershell,则可以在启动时为,则可以在启动时为version参数提供不同的值参数提供不同的值。10.2.4 PowerShell10.2.4 PowerShell的使用运

12、行的使用运行安装及配置好安装及配置好Powershell之后,按照如下方法运行:之后,按照如下方法运行:方法方法1:选择:选择“开始开始”-“所有程序所有程序”-“Windows Powershell 1.0”-“Windows Powershell”菜单命令,即菜单命令,即可打开,如图所示。可打开,如图所示。方法方法2:选择:选择“开始开始”-“运行运行”菜单命令,在弹出的对菜单命令,在弹出的对话框中输入话框中输入“Powershell”即可启动。即可启动。方法方法3:在命令提示符环境下,输入:在命令提示符环境下,输入“Powershell”即可启即可启动动10.3 10.3 获取获取Win

13、dows PowershellWindows Powershell帮助帮助方法方法1:Windows Powershell安装后自带的帮助文安装后自带的帮助文档。在档。在Windows Powershell安装完毕后,在开始安装完毕后,在开始菜单中就包含了帮助文档的快捷方式。菜单中就包含了帮助文档的快捷方式。方法方法2:获取帮助的内置命令。:获取帮助的内置命令。Help命令:显示命令列表或某一命令的帮助信息。命令:显示命令列表或某一命令的帮助信息。Get-help命令:显示有关命令:显示有关Windows Powershell和和概念的帮助。概念的帮助。方法方法3:微软官方网站中的:微软官方网

14、站中的Windows Powershell专专题等网站题等网站。10.4 Powershell cmdlet10.4 Powershell cmdlet命令命令10.4.1 cmdlet介绍介绍Windows Powershell支持完全的命令行交互式支持完全的命令行交互式(CLI)环境。在命令提示符下输入命令后,系统)环境。在命令提示符下输入命令后,系统将处理该命令并将结果显示输出在外壳程序窗口中。将处理该命令并将结果显示输出在外壳程序窗口中。cmdlet是指由是指由Windows Powershell团队创建的原团队创建的原生命令,这些命令类似可执行程序,但因为内建于生命令,这些命令类似可

15、执行程序,但因为内建于Windows Powershell中,因此非常易于使用。中,因此非常易于使用。Windows Powershell自带自带120多个多个cmdlet,可以,可以帮助网络管理员在不用学习帮助网络管理员在不用学习Windows Powershell脚本语言的情况下充分享受到脚本语言的情况下充分享受到Windows Power shell带来的各种便利带来的各种便利。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令中的一些常用命令1、可用的、可用的cmd和和UNIX命令命令 可以利用如下方法查看这些别名所对应的可以利用如下方法查看这些别名所对应的Windo

16、ws Powershell的实际命令:的实际命令:Get-alias 例:例:PS C:UsersAdministratorget-alias cat10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)2、格式控制命令、格式控制命令 Windows Powershell还提供了一组用于控制特定还提供了一组用于控制特定对象的显示属性的对象的显示属性的cmdlet命令。他们包括命令。他们包括Format-Wide、Format-List、Format-Table和和Format-Custom。Format-Wide:将对象的格式设置为只能显示每:将对象的

17、格式设置为只能显示每个对象的一个属性的宽表。个对象的一个属性的宽表。Format-List:将输出的格式设置为属性列表,:将输出的格式设置为属性列表,其中每个属性均各占一行显示。其中每个属性均各占一行显示。Format-Table:将输出的格式设置为表。:将输出的格式设置为表。Format-Custom:使用自定义视图来设置输出:使用自定义视图来设置输出的格式的格式。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)3、重定向数据类命令、重定向数据类命令 默认情况下,默认情况下,Windows Powershell的大部分命令的大部分命令是将数据输

18、出到屏幕显示。而重定向数据类的命令是将数据输出到屏幕显示。而重定向数据类的命令可将数据重新发送到另外的输出设备。这些命令主可将数据重新发送到另外的输出设备。这些命令主要包括要包括Out-Host、Out-Null、Out-Printer和和Out-File。Out-Host:将输出发送到将输出发送到Windows Powershell主主机进行显示。主机将在命令行显示输出。由于机进行显示。主机将在命令行显示输出。由于Out-Host是默认设置,因此除非想使用其参数来更改显是默认设置,因此除非想使用其参数来更改显示,否则不需要指定它。主要使用该命令实现数据示,否则不需要指定它。主要使用该命令实现

19、数据分页。分页。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)Out-Null:删除输出,不将其发送到控制台。如果:删除输出,不将其发送到控制台。如果不需要获取运行命令输出的数据,则可以放弃这些不需要获取运行命令输出的数据,则可以放弃这些数据,此时数据,此时Out-Null命令就很有作用。命令就很有作用。Out-Printer:将输出发送到默认打印机或备用打印:将输出发送到默认打印机或备用打印机(如果制定了打印机)。通过制定打印机的显示机(如果制定了打印机)。通过制定打印机的显示名称,可以使用任何基于名称,可以使用任何基于Windows的打印机

20、。无需的打印机。无需指定任何种类的打印机端口映射,设置无需指定实指定任何种类的打印机端口映射,设置无需指定实际的物理打印机。际的物理打印机。Out-File:将输出发送到文件。如果需要使用它的:将输出发送到文件。如果需要使用它的参数,可以使用此命令而不是重定向运算符(参数,可以使用此命令而不是重定向运算符()。)。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)4、导航定位命令、导航定位命令 在在Windows Powershell中提供了导航的命令。这些导航是指在驱动器中提供了导航的命令。这些导航是指在驱动器之间更换位置的操作之间更换位置的操作

21、。在文件系统中导航在文件系统中导航Set-Location:将当前位置更换为制定路径。其别名为:将当前位置更换为制定路径。其别名为cd。Get-Childitem:获取某个位置中的子项。其别名为:获取某个位置中的子项。其别名为dir和和ls。Get-Item:获取位于制定位置的项的内容。:获取位于制定位置的项的内容。New-Item:在命名空间中创建新项(包括文件或文件夹或注册表项等)。:在命名空间中创建新项(包括文件或文件夹或注册表项等)。此命令还可以设置新项的值。此命令还可以设置新项的值。Remove-Item:删除指定的项。可以删除一个或多个项(包括文件、目录、:删除指定的项。可以删除一

22、个或多个项(包括文件、目录、注册表项、别名、证书和函数)。注册表项、别名、证书和函数)。Copy-Item:将一个位置复制到命名空间的另一个位置。其中符号:将一个位置复制到命名空间的另一个位置。其中符号“.”表示当前目录;符号表示当前目录;符号“*”表示目录内容;表示目录内容;$home表示目录的内置变量;表示目录的内置变量;$pshome表示表示Windows Powershell安装目录的内置变量。安装目录的内置变量。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)在注册表中导航在注册表中导航可以使用与文件系统驱动器中相同导航方法在可以使用与

23、文件系统驱动器中相同导航方法在Windows注册表中导航。在注册表中导航。在Windows Powershell中,注册表项中,注册表项“HKEY_LOCAL_MACHINE”映射到映射到Windows Powershell HKLM:驱动器,而注册表项驱动器,而注册表项“HKEY_CURRENT_USER”映射到映射到Windows Powershell HKCU:驱动器。驱动器。如下图,表示在注册表项中进行导航。如下图,表示在注册表项中进行导航。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)在证书存储区中导航在证书存储区中导航可以在计算机上

24、的数字签名证书存储区中导航。证可以在计算机上的数字签名证书存储区中导航。证书存储区映射到书存储区映射到Windows Powershell Cert:驱动:驱动器。器。如图所示,表示在证书存储区中导航。如图所示,表示在证书存储区中导航。10.4.2 cmdlet10.4.2 cmdlet中的一些常用命令(续)中的一些常用命令(续)在其他驱动器中导航在其他驱动器中导航 除了上述除了上述3类驱动器外,类驱动器外,Windows Powershell还提还提供了其他有用的驱动器,其中包括别名驱动器供了其他有用的驱动器,其中包括别名驱动器(Alias:)、环境提供程序驱动器()、环境提供程序驱动器(E

25、nv:)、函数)、函数驱动器(驱动器(Funciton:)、和变量驱动器)、和变量驱动器(Variable:)。使用相同的方法就可以在这些驱动)。使用相同的方法就可以在这些驱动器中导航。器中导航。10.5 PowerShell10.5 PowerShell脚本语言语法脚本语言语法10.5.1 使用变量和常量使用变量和常量 Windows Powershell中变量的默认规则是:在使用某中变量的默认规则是:在使用某一变量之前,没必要提前声明该变量,只需要在使用变量保一变量之前,没必要提前声明该变量,只需要在使用变量保存数据时声明即可。并且所有变量名称前都必须包含一个美存数据时声明即可。并且所有变

26、量名称前都必须包含一个美元符号。元符号。Windows Powershell中常量类似于变量,但又有两点中常量类似于变量,但又有两点区别:常量的值永远不会发生变化;常量无法被删除。常量区别:常量的值永远不会发生变化;常量无法被删除。常量可以使用可以使用Set-Variable cmdlet创建,指派创建,指派-option参数即可参数即可创建常量。创建常量。例:例:$computername=“mycomputer”Set-Variable name intDriveType value 3 option constant 这里设置了变量这里设置了变量computername和常量和常量int

27、DriveType。10.5.2 10.5.2 使用使用ForFor语句语句For语句可以用于控制脚本块在符合要求的情况下语句可以用于控制脚本块在符合要求的情况下执行。大部分时候,可以使用执行。大部分时候,可以使用for语句执行需要重复语句执行需要重复多次的操作。多次的操作。For语句的结构例可以使用小括号将语句的结构例可以使用小括号将需要求值的表达式于包含在大括号中的代码分隔开。需要求值的表达式于包含在大括号中的代码分隔开。如下例:如下例:for ($a=1;$a le 3;$a+)“hello”for括号里的表达式主要分成三部分:第一部分是变括号里的表达式主要分成三部分:第一部分是变量量$

28、a,并为其赋值,并为其赋值“1”;第二部分则包含了计算;第二部分则包含了计算条件,表示变量条件,表示变量$a值不大于数字值不大于数字“3”,这样代码,这样代码块部分包含的命令才会被运行;第三部分则表示给块部分包含的命令才会被运行;第三部分则表示给变量变量$a的值增加的值增加“1”。这行代码最后输出。这行代码最后输出3个个“hello”的字样。的字样。7.5.3 7.5.3 使用判断语句使用判断语句在脚本中对分支的控制进行判断是一项基本技术,在脚本中对分支的控制进行判断是一项基本技术,事实上,这也是自动化操作的基础。这个过程中需事实上,这也是自动化操作的基础。这个过程中需要判断并评估每种情况,并

29、决定需要进行的操作。要判断并评估每种情况,并决定需要进行的操作。ifelse是最基本的判断语句,这个结构容易被理是最基本的判断语句,这个结构容易被理解,适合一般的会话。例如:可以考虑下列两个天解,适合一般的会话。例如:可以考虑下列两个天气情况:气情况:if(sunny and warm)go to park elseif(cloudy and cool)go shopping else stay at home7.5.3 7.5.3 使用判断语句使用判断语句(续续)在其他编程语言中,在其他编程语言中,switch也叫也叫“选择情况选择情况”语句(语句(select case),它与),它与if

30、else语句不同,它可以提供一系列可能的语句不同,它可以提供一系列可能的匹配条件来进行判断选择。这种方法的本质也可以看成匹配条件来进行判断选择。这种方法的本质也可以看成ifelseifelse语句。语句。在使用在使用switch语句的时候,需要判断的条件会包含在括号内。语句的时候,需要判断的条件会包含在括号内。然后,每个需要判断条件都会放在代码块内大括号的内部,然后,每个需要判断条件都会放在代码块内大括号的内部,如下所示的一个简单例子:如下所示的一个简单例子:$a=3;switch($a)1“one detected”2“two detected”3“three detected”因为这里的变

31、量因为这里的变量a被赋值为被赋值为3,所以在,所以在switch语句中,它会选语句中,它会选择大括号中符合条件的择大括号中符合条件的3执行执行“three detected”。7.5.4 7.5.4 使用数据类型使用数据类型Windows PowershellWindows Powershell是一种强类型语言,不过在表现上上却是一种强类型语言,不过在表现上上却像是无类型的。这是因为像是无类型的。这是因为Windows PowershellWindows Powershell在监测数据类在监测数据类型并采取相应操作方面做得很好。如果某个东西是字符串,型并采取相应操作方面做得很好。如果某个东西是

32、字符串,Windows PowershellWindows Powershell就会将其当作字符串处理。就会将其当作字符串处理。例如,考虑如下三条语句:例如,考虑如下三条语句:PS C:1+1 PS C:1+1 PS C:12:00+:30 PS C:12:00+:30 PS C:a+b PS C:a+b只有第一条语句能成功执行,因为在只有第一条语句能成功执行,因为在Windows PowershellWindows Powershell中,中,可以将内容正确监测为数字,并允许进行加法操作,然而,可以将内容正确监测为数字,并允许进行加法操作,然而,时间和字母是无法相加的。但是如果将字母时间和字

33、母是无法相加的。但是如果将字母a a和和b b用双引号引用双引号引用,然后相加,操作就会成功。用,然后相加,操作就会成功。10.6 10.6 使用使用PowerShellPowerShell管理管理WindowsWindows因为因为Windows Powershell中的脚本在默认情况下中的脚本在默认情况下并没有启用,因此在部署或运行任何脚本或命令之并没有启用,因此在部署或运行任何脚本或命令之前,还需要验证平台对脚本的支持级别。如果没有前,还需要验证平台对脚本的支持级别。如果没有启动支持就尝试运行启动支持就尝试运行Windows Powershell脚本,脚本,就会看到错误信息。脚本也无法运

34、行。在就会看到错误信息。脚本也无法运行。在Windows Powershell中,通过使用中,通过使用Set-ExecutionPoliy cmdlet,可以设置,可以设置4个不同级别的执行策略,这个不同级别的执行策略,这4个个级别的详细信息如下表所示。级别的详细信息如下表所示。10.6.110.6.1查看网络设置查看网络设置下面的一个脚本例子GetNetAdapterStatus.ps1,可以用于产看本地计算机上现有的每个网络适配器的状态。完整的GetNetAdapterStatus.ps1脚本见教材P215页。10.6.2 10.6.2 配置配置DNSDNS服务器设置服务器设置在微软的域名

35、系统(在微软的域名系统(DNS)中包含很多设置,虽然)中包含很多设置,虽然其中大部分设置很少需要调整,但数量众多的选项其中大部分设置很少需要调整,但数量众多的选项卡使得重要选项很容易被遗漏,此时使用卡使得重要选项很容易被遗漏,此时使用Windows Powershell脚本就可以用批量的模式同时调整多个脚本就可以用批量的模式同时调整多个选项,通过使用选项,通过使用SetDNSServerConfig.ps1脚本,脚本,可以调整脚本接受对可以调整脚本接受对DNS服务器配置的任何属性或服务器配置的任何属性或值的设置。通过此脚本,还可以同时调整多个参数。值的设置。通过此脚本,还可以同时调整多个参数。

36、完整的完整的SetDNSServerConfig.ps1脚本见教材脚本见教材P217页。页。10.6.3 10.6.3 添加用户到域组添加用户到域组首先要连接到组,再将用户添加到域组中。在教材首先要连接到组,再将用户添加到域组中。在教材所示的所示的AddUserToGroup.ps1脚本,开头用到的是脚本,开头用到的是param()语句,在这里可以提供用户和组的名称以及他们语句,在这里可以提供用户和组的名称以及他们所在的域名称。其代码见教材所在的域名称。其代码见教材P219页。页。习题习题 101010.1 什么是什么是PowerShell?它的运行环境是什么?它的运行环境是什么?10.2 什

37、么是什么是Powershell cmdlet命令?它有哪些常命令?它有哪些常用命令?其语法是什么?用命令?其语法是什么?10.3 简要描述如何配置简要描述如何配置Powershell。10.4 请描述创建请描述创建Powershell脚本及其运行方法。脚本及其运行方法。实训实训10 10 使用使用PowerShellPowerShell管理管理WindowsWindows网络网络10.1 在在Windows Server 2008中安装好中安装好PowerShell,并对其进行初始配置。,并对其进行初始配置。10.2 利用利用PowerShell脚本查看脚本查看DNS设置,并设置,并对其进行配置。对其进行配置。10.3 使用使用PowerShell编程,创建域用户。编程,创建域用户。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服