您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > WindowsPowerShell脚本编程 I
2020年1月30日WindowsPowerShell脚本编程1PowerShell概述2面向对象的设计语言简介3PowerShell简介4PowerShell_ISE的运行环境5使用变量和常量6使用数据类型7使用判断语句8使用For,Foreach,whileloop循环语句1PowerShell概述•可以初步地将WindowsPowerShell理解为微软早期版本操作系统中的CMD.exe命令工具集,但与此相比,WindowsPowerShell的功能更加强大,使用方式更加灵活。WindowsPowerShell作为WindowsServer2008提供的重大改进之一,已成为WindowsServer2008的一个组件。本章将讨论PowerShell的基本概念、特点及语法,并介绍如何利用PowerShell对Windows进行基本管理。1PowerShell概述•1PowerShell简介•WindowsPowerShell是专为系统管理员设计的新Windows命令行shell。不同的是WindowsPowerShell是在.NETFramework公共语言运行时(CLR)和.NETFramework的基础上构建的,它接受和返回的对象,从而进一步扩展了脚本的创建。•WindowsPowerShell内置的命令为cmdletsPowerShell引入了cmdlet(读作“command-let”)的概念,每个cmdlet是内置的,可以分别使用,但是组合使用它们时更能发挥其作用。cmdlet有一种统一的命名方法:动词-名词Cmdlet•cmdlet(读作“command-let”)是WindowsPowerShell中用于操作对象的功能命令。可以通过其名称格式识别cmdlet--由短划线(-)分隔的动词和名词,例如Get-Help、Get-Process和Start-Service。•WindowsPowerShell中,大多数cmdlet都非常简单,它们设计为与其他cmdlet组合使用。例如,“get”cmdlet仅检索数据,“set”cmdlet仅建立或更改数据,“format”cmdlet仅设置数据格式,“out”cmdlet仅将输出定向到指定的目标。•每个cmdlet都具有一个帮助文件,可以通过键入以下内容访问它:•get-helpcmdlet-name-detailed•cmdlet帮助文件的详细视图包括cmdlet说明、命令语法、参数说明和演示cmdlet用法的示例。2使用PowerShell管理Windows•因为WindowsPowershell中的脚本在默认情况下并没有启用,因此在部署或运行任何脚本或命令之前,还需要验证平台对脚本的支持级别。如果没有启动支持就尝试运行WindowsPowershell脚本,就会看到错误信息。脚本也无法运行。在WindowsPowershell中,通过使用Set-ExecutionPoliycmdlet,可以设置4个不同级别的执行策略,这4个级别的详细信息如下表所示。常用快捷方式•PageUp-跳转到历史缓冲区中的第一个命令。•PageDown-跳转到历史缓冲区中的最后一个命令•UpArrow-向后显示历史缓冲区命令。•DownArrow-向进显示历史缓冲区命令。•Home-跳跃到命令行的开头。•End-跳跃到命令行的末尾。•Ctrl+LeftArrow-到最左侧字符。•Ctrl+RightArrow-到右侧单词结尾。•Tab-完成输入(在控制台中键入GET-C和按TAB键,再按下Tab试试)。•F7键-显示历史缓冲区(使用向上和向下箭头键来浏览缓冲区)。•F8键–复制到显示框,单步调试。关键的三个命令•关键的三个命令•Get-Command。•Get-Help.•Get-Member4PowerShell脚本语言语法•4使用变量和常量WindowsPowershell中变量的默认规则是:在使用某一变量之前,没必要提前声明该变量,只需要在使用变量保存数据时声明即可。并且所有变量名称前都必须包含一个美元符号。WindowsPowershell中常量类似于变量,但又有两点区别:常量的值永远不会发生变化;常量无法被删除。常量可以使用Set-Variablecmdlet创建,指派-option参数即可创建常量。例:$computername=“mycomputer”Set-Variable–nameintDriveType–value3–optionconstant这里设置了变量computername和常量intDriveType。PowerShell数据类型•运算符如下:•1.算术二元运算符:•+加、串联-减*乘/除%模•2.赋值运算符•=+=-=*=/=%=3.逻辑运算符•!不等于not非and且or或•4.比较运算符(可在运算符前加上i或者c,以指定是否区分大小写)•-eq等于-ceq区分大小写-ne不等于•-gt大于-ge大于等于-lt小于•-le小于等于-contains包含•5.重定向运算符•覆盖输出追加输出2错误输出2错误追加•特殊运算符•&调用运算符,指示它后面的字符串或者其他变量等为命令•.方法调用,文件调用•::静态成员•..范围运算符1..101到105For,While,Foreach语句•For语句可以用于控制脚本块在符合要求的情况下执行。大部分时候,可以使用for语句执行需要重复多次的操作。For语句的结构例可以使用小括号将需要求值的表达式于包含在大括号中的代码分隔开。如下例:•for($a=1;$a–le3;$a++){“hello”}•for括号里的表达式主要分成三部分:第一部分是变量$a,并为其赋值“1”;第二部分则包含了计算条件,表示变量$a值不大于数字“3”,这样代码块部分包含的命令才会被运行;第三部分则表示给变量$a的值增加“1”。这行代码最后输出3个“hello”的字样。6使用判断语句•在脚本中对分支的控制进行判断是一项基本技术,事实上,这也是自动化操作的基础。这个过程中需要判断并评估每种情况,并决定需要进行的操作。•if…else是最基本的判断语句,这个结构容易被理解,适合一般的会话。例如:可以考虑下列两个天气情况:if(sunnyandwarm){gotopark}elseif(cloudyandcool){goshopping}else{stayathome}7函数FunctionGet-($a){Return$a=$a+1;}8使用判断语句(续)•在其他编程语言中,switch也叫“选择情况”语句(selectcase),它与if…else语句不同,它可以提供一系列可能的匹配条件来进行判断选择。这种方法的本质也可以看成if…elseif…else语句。•在使用switch语句的时候,需要判断的条件会包含在括号内。然后,每个需要判断条件都会放在代码块内大括号的内部,如下所示的一个简单例子:$a=3;switch($a){1{“onedetected”}2{“twodetected”}3{“threedetected”}}•因为这里的变量a被赋值为3,所以在switch语句中,它会选择大括号中符合条件的3执行“threedetected”。9面向对象的设计思想•9面向对象的设计思想•封装,继承,多态。•类,实例,属性,方法,作用域。•类是事物的抽象定义•类的实例化就是具体的对象
本文标题:WindowsPowerShell脚本编程 I
链接地址:https://www.777doc.com/doc-3397458 .html