关于Powershell 你要知道的知识!
2021-04-02 13:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:89 收藏

安全知识小百科,就点上方蓝字关注我们

1.背景及介绍

在最初的时候,Powershell 是设计运行在windows机器上实现系统和应用程序管理自动化的命令行 脚本环境。Windows Powershell V1诞生与2006年,你可以把它看成是命令行提示符cmd.exe的扩 充,不对,应当是颠覆。powershell需要.NET环境的支持,同时支持.NET对象。微软之所以将 Powershell 定位为Power,并不是夸大其词,因为它完全支持对象。其可读性,易用性,可以位居 当前所有shell之首。

现如今,PowerShell早已开源,并已经发布了许多版本。最初,Windows PowerShell建立在.NET Framework上,仅在Windows系统上工作。在现在的版本中,PowerShell使用.NET Core 3.1作为其运 行时。PowerShell在Windows,macOS和Linux平台上运行。

2.PowerShell版本

PowerShell Core是GitHub上的一个开源项目。有关在各种受支持的和实验性平台上安装PowerShell 的详细信息,请参阅以下文章。

在windows上安装PowerShell

在Linux上安装PowerShell

在macOS上安装PowerShell

在ARM上安装PowerShell

Tips:有关在Windows上安装旧版PowerShell的详细信息,请参阅《 安装Windows PowerShell》。

查看powershell版本

PowerShell中有许多自动变量可以存储状态信息。这些变量之一是 $PSVersionTable ,其中包含 一个哈希表,可用于显示相关的PowerShell版本信息:

3.PS的帮助系统

PowerShell中的编译命令称为cmdlet。Cmdlet发音为“ command-let”(不是CMD-let)。Cmdlet名称 采用单数“动词-名词”命令的形式,以使它们易于发现。例如,用于确定正在运行哪些进程的 cmdlet:Get-Process ,用于检索服务及其状态列表的cmdlet:Get-Service 。如何在 PowerShell中使用数千个命令(cmdlet),很好地使用帮助系统是使用PowerShell成功的关键。

3.1本地+在线

PowerShell的帮助文档提供了本地+在线的两种方式,在本地使用 help + cmdlet 的命令,即可 看到关于这个 cmdlet 的使用详解,在后面跟上 -online 参数,就会打开电脑的默认浏览器,来 到该 cmdlet 的在线帮助页面。

本地:help + cmdlet

语法:主要由多组左右方括号( [] )和尖括号( <> )组成,根据它们的用法,它们有两种不同的 含义。

[] :代表可选参数,可忽略 

<> :代表必选参数,不可忽略 

TIPS: 位置参数 

可以省略名称,不输入,但值是必须输入的,系统会按照位置自动进行匹配是哪个参数 的值。

若带上名称,则可以在命令中的任意位置输入该参数和值,不受位置影响。

TIPS: 开关参数

不需要赋值的参数。比如:start-service 中的参数 "-WhatIf"

TIPS: 开关参数

参数:-Examples

在线:help + cmdlet+ [-online]

3.2 更新本地

可使用 Update-Help 更新本地帮助系统(建议定期更新),以便该计算机无法访问Internet时,仍可 为我们提供帮助。该 Update-Help cmdlet 默认情况下,它需要Internet访问,并且您需要以管理员 身份运行PowerShell。

命令:Update-Help

3.3 模糊查询

命令:help *cmdlet*

3.4 详细帮助文档

使用参数:-full 、 -ShowWindow

-full:有些版本、文档,使用或不使用该参数输出文档是一样的。

-ShowWindow:

4 Providers of Powershell

PowerShell中的provider是一个接口,允许像文件系统一样访问数据存储。PowerShell中有许多内置 provider。

4.1 查看当前PS的种类

PS D:\> Get-PSProvider Name           Capabilities                        Drives ----           ------------                        ------ Registry       ShouldProcess, Transactions         {HKLM, HKCU} Alias          ShouldProcess                       {Alias} Environment    ShouldProcess                       {Env} FileSystem     Filter, ShouldProcess, Credentials  {C, A, D} Function       ShouldProcess                       {FunctionVariable       ShouldProcess                      {Variable}Certificate    ShouldProcess                       {Cert} WSMan          Credentials                         {WSMan} /* - ShouldProcess: 可支持-whatIf、-Confirm参数 - Filter: 支持-Filter参数 - Credentials: 支持凭据参数(-Credentials)连接数据存储 - Transactions: 支持事务,提交操作,回滚等*/

如你所见,注册表,别名,环境变量,文件系统,函数,变量,证书和WSMan都有内置的提供程 序。

4.2 查看当前已连接的驱动器

4.3 操作实例

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

 

 

目前40000+人已关注加入我们

文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NjgzOTAyMg==&mid=2247492965&idx=3&sn=b7d6425eccccfb34586382da975a7b64&chksm=fc3c5c64cb4bd572236b0c8dce8d0fb9fcc886967686916b22822b9267e4b61ab67825db5e0c#rd
如有侵权请联系:admin#unsafe.sh