文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

3. Powershell关键命令介绍

2023-01-31 05:08

关注

3. Powershell关键命令介绍

我们将在这介绍三种简单的但是很关键的命令,这些命令能够让你的 Powershell之旅更加顺利。
当你学习的时候,请记住一条军规,那就是Powershell的动词-名词(Verb-noun)结构, 就如get-PSProvider命令,get是动词,PSProvider是名词。
今天要介绍的三条关键命令是:get-comand, get-help, get-member


1. Get-Command

我们就从get-command开始,它是用来列出Powershell所有的动词-名词结构,当然,这些也被称为内置的cmdlets。
假设你已经打开了Powershell窗口,上面有提示,类似PS>;, 现在你只要输入一个带连字符号的语句:
get-command
 
clip_p_w_picpath002
 
我们可以使用通用符 星号 * 来过滤该列表,比如:
Get-command out*
clip_p_w_picpath004
 
Get-command add*
clip_p_w_picpath006
 
Get-command get-*
clip_p_w_picpath008
 
下面就是显示以set开头的cmdlets
Get-command set* -commandtype cmdlet
clip_p_w_picpath010
 
我们可以把这些输出以表格形式来显示,(Format-table), 这里将用到 Powershell的管道符号 |, 具体语句是:
Get-command | format-table name,definition –auto
 
clip_p_w_picpath012
 
我们现在只是体会、测试和感觉Powershell, 因此你完全可以按照建议进行任何的自我体验。 当你看到诸多内置命令时,随便选定一个cmdlet作为研究对象,比如
Get-psprovider
 
下面就是我运行这个命令的结果
clip_p_w_picpath014
 
家庭作业: 使用PSProvider
get-psprovider | Get-member
clip_p_w_picpath016
 

命令: PSSnapin

PSSnapin向我们展示内置cmdlets的来源于哪里
Get-pssnapin
 
clip_p_w_picpath018
 
Get-PSSnapin |ft name, description –autosize
clip_p_w_picpath020
 
你可能也注意到,
  • .  每个Powershell的名词都是唯一的,PSSnapin,command,PSProvider。
  • .  每个管道符|后面连着FT 意思是将输出格式作为一个表格形式(Format-Table),相对的是,把输出作为清单形式那就是使用 fl (Format-list). FT后面连着属性的名称,每个名称以分号分开。
  •  . 命令的最后是-autosize, 他让Powershell每列的宽度自动调整适应。
  •  . 当你使用 format-table 或者ft, 试着在后面加上-autosize,或者-auto,会让你的输出更紧凑、美观。
下面这个例子,我使用了ft来省略Description属性,只是显示名称
Get-PSSnapin |ft name
clip_p_w_picpath022


2. Get-Help

拒绝傲慢,把骄傲丢在一边,求助Powershell的内置帮助吧。 我们所需要学习的是如何寻求Powershell内置的帮助以及它能给我们带来的好处。
也许老的DOS系统的帮助的经历,让我们不太愿意再求助内置的帮助,但是,难道我需要建议大家都使用互联网的搜索来得到吗?幸好,这个现象没有在Powershell中出现。
Powershell的帮助有很多很有趣的开发,比如-full和-example, 一般来说-examples也可以工作,这是在Powershell里面非常少见的一个名词的复数。
尝试下面这个例子:
Get-help get-wmiobject
clip_p_w_picpath024
 
请注意: get-help不需要管道符号。事实上,管道符只会妨碍到get-help。
对下面的语句,Powershell会直接报错
Get-help | get-wmiobject cim_chip
clip_p_w_picpath026
 
因此,我们还是按照简单的模式来输入
Get-help get-wmiobject
clip_p_w_picpath028
 

我的经验之谈

对于初学者而言,Powershell的帮助是最爱;然而对于中级高手而言,却会忽略掉Powershell帮助;对于大师而言,他又会回归到使用get-member。 Powershell大师之所以是大师,是因为他们知道如何使用、什么时候使用合适的工具,比如get-help工具。

隐藏的Powershell 关于About文件

在Powershell文件夹里面(又被称为 $PSHome **), 你会发现全部的关于(about)文件。在这些文件里面,都是以About_开头,你将会发现很多的内容,比如foreach。
我的经验是,通过输入get-hep foreach你不能直接的得到帮助,但是你可以通过直接读该文件而得到大量帮助信息 $PSHome\about_foreach.help.txt
 
clip_p_w_picpath030
下面这个cmdlet向我们展示了About文件的名称
 
# List all the About help files        
$i=0        
$Homes = get-ChildItem "$PSHome\about*.*" -recurse        
foreach ($About in $Homes) {$About.name; $i++}
 
结果: 55个文件清单(根据版本不同数字可能不同)
clip_p_w_picpath032
 
**在我的系统里面, $PShome就是在 C:\WINDOWS\system32\WindowsPowerShell\v1.0
clip_p_w_picpath034


3. Get-Member

从我以前犯的错误得出来的教训,希望你能够铭记Get-member用法。关键点就是我们要把对象放在开头,而不是在命令的后面,另外一个教训就是我经常忘了管道符。
正确的格式是:
Get-process | get-member
clip_p_w_picpath036
错误
  •  get-Member | get-Process  (顺序错误)
  • get-Process get-Member (忘记了管道符)
家庭作业
 
Get-process | Get-Member -Membertype property
clip_p_w_picpath038
 
Get-process | Get-Member -Membertype method
clip_p_w_picpath040
 
从上面来看,所有的命令都不区分大小写的,比如get-Process, Get-Process 和get-Process, 三者的结果都一样。在Powershell里面, 大写的命令语句不会影响命令执行。


Tab键的自动完成

可能是考虑到我们比较懒,Powershell也提供了支持tab键自动完成的功能。 一旦你输入了足够的命令来确保该语句唯一,即不会被别的重复的时候,你可以直接按tab键,powershell就会自动完成接下来的命令。
Get-process get-mem(tab键)会自动扩展成:get-process get-member.
你可能也知道了,tab键的自动完成不但对某个命令起作用,对于所有的命令都起作用。
同样,当你使用Powershell的参数的时候,你也可以使用相同的自动填写功能。比如
-auto就等同于-autosize, -f就是相当于-filter.
Powershell里面有太多的自动完成了。


总结:Powershell命令行

如果你和一位经验丰富的Powershell用户,或者和某位专家聊天,他们都会告诉你,成功的秘诀就是简单。
请坚守这个定律直到你成功了。而这个基本定律的三大帮手就是,get-command, get-member和get-help
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯