前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3. Powershell关键命令介绍

3. Powershell关键命令介绍

作者头像
py3study
发布2020-01-08 18:21:37
1.5K0
发布2020-01-08 18:21:37
举报
文章被收录于专栏:python3python3

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
clip_p_w_picpath002

我们可以使用通用符 星号 * 来过滤该列表,比如:

Get-command out*

clip_p_w_picpath004
clip_p_w_picpath004

Get-command add*

clip_p_w_picpath006
clip_p_w_picpath006

Get-command get-*

clip_p_w_picpath008
clip_p_w_picpath008

下面就是显示以set开头的cmdlets

Get-command set* -commandtype cmdlet

clip_p_w_picpath010
clip_p_w_picpath010

我们可以把这些输出以表格形式来显示,(Format-table), 这里将用到 Powershell的管道符号 |, 具体语句是:

Get-command | format-table name,definition –auto

clip_p_w_picpath012
clip_p_w_picpath012

我们现在只是体会、测试和感觉Powershell, 因此你完全可以按照建议进行任何的自我体验。 当你看到诸多内置命令时,随便选定一个cmdlet作为研究对象,比如

Get-psprovider

下面就是我运行这个命令的结果

clip_p_w_picpath014
clip_p_w_picpath014

家庭作业: 使用PSProvider

get-psprovider | Get-member

clip_p_w_picpath016
clip_p_w_picpath016
命令: PSSnapin

PSSnapin向我们展示内置cmdlets的来源于哪里

Get-pssnapin

clip_p_w_picpath018
clip_p_w_picpath018

Get-PSSnapin |ft name, description –autosize

clip_p_w_picpath020
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
clip_p_w_picpath022


2. Get-Help

拒绝傲慢,把骄傲丢在一边,求助Powershell的内置帮助吧。 我们所需要学习的是如何寻求Powershell内置的帮助以及它能给我们带来的好处。

也许老的DOS系统的帮助的经历,让我们不太愿意再求助内置的帮助,但是,难道我需要建议大家都使用互联网的搜索来得到吗?幸好,这个现象没有在Powershell中出现。

Powershell的帮助有很多很有趣的开发,比如-full和-example, 一般来说-examples也可以工作,这是在Powershell里面非常少见的一个名词的复数。

尝试下面这个例子:

Get-help get-wmiobject

clip_p_w_picpath024
clip_p_w_picpath024

请注意: get-help不需要管道符号。事实上,管道符只会妨碍到get-help。

对下面的语句,Powershell会直接报错

Get-help | get-wmiobject cim_chip

clip_p_w_picpath026
clip_p_w_picpath026

因此,我们还是按照简单的模式来输入

Get-help get-wmiobject

clip_p_w_picpath028
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
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
clip_p_w_picpath032

**在我的系统里面, $PShome就是在 C:\WINDOWS\system32\WindowsPowerShell\v1.0

clip_p_w_picpath034
clip_p_w_picpath034


3. Get-Member

从我以前犯的错误得出来的教训,希望你能够铭记Get-member用法。关键点就是我们要把对象放在开头,而不是在命令的后面,另外一个教训就是我经常忘了管道符。

正确的格式是:

Get-process | get-member

clip_p_w_picpath036
clip_p_w_picpath036

错误

  •  get-Member | get-Process  (顺序错误)
  • get-Process get-Member (忘记了管道符)

家庭作业

Get-process | Get-Member -Membertype property

clip_p_w_picpath038
clip_p_w_picpath038

Get-process | Get-Member -Membertype method

clip_p_w_picpath040
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3. Powershell关键命令介绍
    • 1. Get-Command
      • 命令: PSSnapin
        • 2. Get-Help
          • 我的经验之谈
            • 隐藏的Powershell 关于About文件
              • 3. Get-Member
                • Tab键的自动完成
                  • 总结:Powershell命令行
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档