设为首页 收藏本站
查看: 1027|回复: 0

Powershell学习笔记——Powershell控制台和脚本文件

[复制链接]

尚未签到

发表于 2018-9-3 09:23:12 | 显示全部楼层 |阅读模式
安装Powershell
  如果是Windows 7,那么Powershell 2.0已经预装了。不过Windows XP就没那么幸运了,需要自己安装Powershell。Windows XP的Powershell 2.0集成在Windows Management Framework Core中,下载地址有点长,在这里:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=60cb5b6c-6532-45e0-ab0f-a94ae9ababf5#QuickDetails。如果搜索的话,就搜KB968930。
  如果想知道是否已经安装了Powershell,有个很简单的办法:用[Win+R]打开“运行”窗口,输入“powershell”,回车。如果打开了Powershell控制台,那就是已经安装了Powershell啦。如果想查看Powershell的版本,有好几种办法,比如
  


  • PS F:\> $Host.Version.ToString()
  • 2.0
  • PS F:\> $PSVersionTable

  • Name                           Value
  • ----                           -----
  • CLRVersion                     2.0.50727.4961
  • BuildVersion                   6.1.7600.16385
  • PSVersion                      2.0
  • WSManStackVersion              2.0
  • PSCompatibleVersions           {1.0, 2.0}
  • SerializationVersion           1.1.0.1
  • PSRemotingProtocolVersion      2.1


  • PS F:\> Get-Host


  • Name             : ConsoleHost
  • Version          : 2.0
  • InstanceId       : 6632b7de-43d1-4ad1-8fcf-f632bdbd8387
  • UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
  • CurrentCulture   : zh-CN
  • CurrentUICulture : zh-CN
  • PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
  • IsRunspacePushed : False
  • Runspace         : System.Management.Automation.Runspaces.LocalRunspace



  • PS F:\>
  

设置Powershell控制台
  从开始菜单启动“Windows Powershell”,或者通过“运行→powershell”打开的就是Powershell的控制台窗口。默认的控制台是80字符x25字符大小,黑底白字的窗口,不过这些都可以自定义。
  和CMD控制台窗口一样,右键单击Powershell控制台窗口的顶部标题栏位置,在弹出的菜单中选择“属性”,即可打开控制台窗口的属性对话框。这个对话框有4个标签页:“选项”、“字体”、“布局”、“颜色”。

选项 - 这里最有用的设置就是“快速编辑模式”。如果勾选了这个选项,那么在控制台窗口中进行文字的选择、拷贝和粘贴就会非常方便:直接在控制台窗口中拖动鼠标,矩形选区内的内容就被选中了;再单击鼠标右键,选中的内容就被放入了Windows剪贴板,同时选区被取消。当剪贴板内有文本内容的时候(不管是从控制台拷贝的还是从其它地方拷贝的),在控制台窗口内,无选区的状态下,单击右键,则剪贴板中的内容就被粘贴出来了——这一切都很方便。但是,如果不勾选“快速编辑模式”,那么上述操作都需要通过右键菜单来进行,操作比较繁琐。顺便提一下,在快速编辑模式下,右键直接是复制/粘贴操作,不会弹出右键菜单,那需要编辑上下文菜单的时候,就要在窗口标题栏位置单击鼠标右键,并在弹出菜单的“编辑”子菜单中去找需要的编辑命令啦。
√ 字体 - 就是在非常有限的字体列表里选择一个顺眼的,再挑个合适的大小就行啦。
√ 布局 - 这里需要设置两个宽度和高度,它们都是以字符为单位而不是以像素为单位的。“窗口大小”里设置的宽度和高度直接影响控制台窗口显示的大小;而“屏幕缓冲区大小”则用于设置文本缓存区的矩形区域大小。缓冲区大小不能小于窗口大小。如果缓冲区大小大于窗口大小,则在窗口上会出现滚动条,通过拖动滚动条来查看缓冲区在当前窗口以外的内容。一般情况下,窗口宽度和缓冲我宽度设置为同样的值,但可以将缓冲区的高度设置得大一些,比如3000、6000、或者9999——内存不是问题,但更高的缓冲区意味着可以看到更多的历史信息。
√ 颜色 - 如果不喜欢黑底白字,那在这里就可以改变啦。比如,可以将“屏幕背景”设置为白色,将“屏幕文字”设置为深灰色。这样控制台窗口就变成白底黑字啦——应该是灰字,相比黑色字体,灰色字体没那么刺眼一些。  设置完并“确定”之后,设置的内容被保存,同时窗口会根据设置立即改变。关闭控制台窗口之后,下次以同样的方式打开Powershell控制台窗口,那么这些设置都会自动加载并应用。
  为什么要说“同样的方式打开”?如果常用CMD的话,这原因是一样的,所以这些设置的保存都与Powershell的快捷方式有关。不用知道Windows是通过什么样的方式让设置与快捷方式相关的,但效果就是,通过不同的快捷方式打开的Powershell控制台,应用的是不同的设置。比如,通过开始菜单打开的Powershell和通过“运行”窗口打开的Powershell,两个控制台窗口的设置就是不同的。

Powershell控制台的快捷键
  Powershell控制台的快捷键和CMD控制台的快捷键一样,常用的有如下一些:

← →
左右移动光标
↑ ↓
在命令历史中滚动选择历史中的命令,便于重复执行命令,当然也可以先修改再执行
Home
将光标移动到当前命令的第1个字符位置
End
将光标移动到当前命令的最后1个字符之后
Ctrl+Home
从当前位置开始,清除当前命令中前面所有字符
Ctrl+End
从当前位置开始,清除当前命令中后面所有字符
Backspace
向前删除1个字符
Del
向后删除1个字符
Esc
清除当前已经输入的命令
F3
显示上次执行的命令。如果通过↑和↓键选择了历史命令,并通过Esc、Backspace、Del清除或删除了部分内容,则F3可以恢复显示这条历史命令。如果按F3之前输入了部分内容,那F3显示的历史命令中相应的位置由输入的字符替代。(这个说起来很麻烦,自己试试就知道了)
Tab
输入命令时补全命令、文件,或者对象成员
Powershell脚本文件
  Powershell脚本文件是以.ps1作为扩展名的。曾经以为.ps1是Powershell 1.0的脚本文件扩展名,而Powershell 2.0的脚本文件扩展名是.ps2,但经过试验,Powershell目前不管哪个版本,都不认.ps2这个扩展名。
  Powershell只认识ANSI编码(在简体中文Windows下就是GBK)的脚本文件。如果你把脚本文件用UTF-8格式保存,而脚本中又正好有中文的话,Powershell在执行脚本的时候会将中文都显示成乱码,偶尔还会报告语法错误。
  示例说话,先来个Hello World:
  


  • #hello.ps1
  • "Hello World"
  

  脚本中的第1句注释不是必须的——对了,Powershell脚本使用#号来标记行注释,#可以出现在一行的行首,也可以是其它位置,总之,一行内在它之后的内容都被认为是注释内容了——回头来说,这个脚本只干了一件事情,就是输出Hello World。
  是不是有点疑惑,因为这里没有看到任何一个命令。是的,Powershell就是这么神奇,常量值、变量值或者通过表达式运行出来的值,可以直接输出到控制台。所以Powershell可以用作计算器,比如,在控制台中输入命令:
  


  • PS F:\>1 + 3 * 4 # 这将会直接输出运算结果13
  • 13
  

  扯远了。现在回过头来运行hello.ps1,不过很遗憾,如果你是第一次执行Powershell脚本,那么有可能会得到一个错误消息:
  


  • PS F:\> .\hello.ps1
  • 无法加载文件 F:\hello.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
  • 所在位置 行:1 字符: 12
  • + .\hello.ps1
  

  现在,Hello World终于运行出来了
  


  • PS F:\> .\hello.ps1
  • Hello World
  • PS F:\>
  

  知道为什么要在hello.ps1前面加上“.\”么?如果有研究精神,就该试试不加“.\”的hello.ps1。虽然执行会出现错误,但错误信息里说得很清楚,包括为什么这样不行,以及应该怎么样。

寻求帮助
  既然已经开始使用Powershell,那么有两个伙伴会一直陪伴你的Powershell生涯:错误信息和Help。
  中文Windows下的Powershell,其大部分错误信息都包含有中文的说明,请不要忽略它,因为如果不了解错误原因,就不清楚该如何去更正。而错误信息正是了解错误原因最直接的途径。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-561878-1-1.html 上篇帖子: Powershell学习笔记——了解Powershell 下篇帖子: Powershell学习笔记——变量和命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表