前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于Powershell 你要知道的知识!

关于Powershell 你要知道的知识!

作者头像
Ms08067安全实验室
发布2021-04-07 12:19:40
1.4K0
发布2021-04-07 12:19:40
举报
文章被收录于专栏:Ms08067安全实验室

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的种类

代码语言:javascript
复制
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                       {Function} 
Variable       ShouldProcess                      {Variable}
Certificate    ShouldProcess                       {Cert} 
WSMan          Credentials                         {WSMan} 
/* 
- ShouldProcess: 可支持-whatIf、-Confirm参数 
- Filter: 支持-Filter参数 
- Credentials: 支持凭据参数(-Credentials)连接数据存储 
- Transactions: 支持事务,提交操作,回滚等
*/

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

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

4.3 操作实例

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档