Powershell-1

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

感谢泷羽sec 团队 的教学

视频地址:powershell(1)_哔哩哔哩_bilibili

一、Powershell介绍

PowerShell 是微软开发的一种命令行 shell 和脚本语言,用于系统管理自动化。它首次发布于2006年,设计用于帮助IT专业人员和系统管理员控制和自动化Windows操作系统的管理和配置。

1.进入Powershell的方法有两个

(1)win+R输入Powershell可以直接进入到Powershell

(2)win+R输入cmd,在cmd中输入powershell,进入Powershell

2.Powershell版本

一般来说,同版本的Windows可能支持不同版本的PowerShell。例如,Windows 10和Windows Server 2016支持PowerShell 5.1,而Windows 11和Windows Server 2022支持PowerShell 7。低版本的Powershell是支持升级的

查看Powershell版本信息,通过打印 $psversiontable 可以显示版本信息

二、Powershell为什么强大

1.对单位的计量,数学运算等十分方便

(1)单位计量

输入1GB,回显1GB有多少字节,以此类推

(2)数学运算

(3)逻辑运算

(4)进制换算

示例为十六进制转换为十进制

2.命令丰富,功能强大

命令的命名支持动词-名词的形式,对初学者来说十分友好,方便记忆并使用。

比如,Get-service命令是一个Powershell命令,用于获取计算机上服务的相关信息,包括服务名称,显示名称,状态和启动类型等。而在cmd上获取会比较麻烦,cmd无法直接打印,只能输入services.msc打开图形化界面

示例:

Powershell输入Get-service

cmd输入services无法打印,只能输入services.msc

3.Powershell是面向对象的

编程语言一般分为面向对象和面向过程,而powershell是面向对象的

(1)面向对象与面向过程的区别:

面向过程编程:以过程为中心,将任务分解为步骤按顺序执行。

面向对象编程:以对象为中心,对象包含数据和操作数据的方法。

(2)面向对象的编程语言

C++,Java,Python都是面向对象,一般的脚本语言是不支持面向对象的

(3)面向过程的编程语言

C语言

  • C语言是一种典型的面向过程的编程语言,它不直接支持面向对象编程的概念。
  • C语言中没有类(class)和对象(object)的语法结构,但可以通过一些编程技巧来模拟面向对象的特性,如使用结构体(struct)来封装数据,并通过函数指针来模拟方法。
  • 这种方式相对复杂,没有面向对象语言中直接的继承、多态等特性。

汇编语言

  • 汇编语言是一种低级编程语言,主要面向机器,与硬件的关联非常紧密。
  • 汇编语言不支持面向对象编程,它通过操作寄存器、内存地址等来完成任务。
  • 汇编语言更关注指令的执行顺序和数据在内存中的存储和操作方式,例如在x86汇编语言中,程序员需要编写如MOV(数据传送指令)、ADD(加法指令)等指令来操作数据,而不是通过对象的方式。

4.与.NET平台的绑定

PowerShell与微软的.NET框架紧密结合,这意味着它可以利用.NET的强大库来执行各种操作和实现多种功能,执行复杂的数据处理和对象操作。

5.兼容性

PowerShell可以与VBScript(VBS)和命令提示符(CMD)互相调用,这表明它具有良好的兼容性,能够与现有的脚本和命令行工具协同工作。

6.扩展性

PowerShell不仅能够管理Windows系统,还能管理活动目录、虚拟机以及虚拟化产品,如Office 365。这显示了PowerShell在不同管理任务中的广泛应用和强大的可拓展性。

三、Powershell操作

1.Powershell控制台

(1)自定义PowerShell控制台属性:

用户可以通过右键点击PowerShell窗口,选择"属性"来自定义控制台的外观和行为。在属性设置中,用户可以调整字体大小、字体颜色、光标大小等。还可以设置窗口的颜色、窗口大小、透明度等参数,以满足个人喜好。

(2)PowerShell编辑模式

PowerShell支持两种编辑模式:快速编辑模式和标准编辑模式。

快速编辑模式提供了一种更快捷的方式来编辑命令,而标准编辑模式则提供了更传统的命令行编辑体验。用户可以通过右键点击来切换或设置编辑模式。

2.Powershell快捷键

PowerShell 提供了许多快捷键来提高命令行操作的效率。以下是一些常用的 PowerShell 快捷键:

  1. Ctrl + C:终止当前运行的命令或脚本。

  2. Ctrl + V:在 PowerShell 中,这会将剪贴板中的内容作为命令插入,而不是作为文本。

  3. Ctrl + Shift + C:复制整个命令行。

  4. Ctrl + Shift + V:将剪贴板中的内容作为文本插入,而不是作为命令。

  5. Ctrl + A:选择命令行中的所有文本。

  6. Ctrl + E:将光标移动到命令行的末尾。

  7. Ctrl + M:执行命令行中的命令。

  8. Ctrl + Z:将命令行中的命令发送到 PowerShell 历史记录中,但不执行它。

  9. Ctrl + Y:将最近使用 Ctrl + Z 取消的命令重新添加到命令行。

  10. Ctrl + Shift + F:在当前 PowerShell 窗口中打开搜索功能。

  11. Ctrl + Shift + H:显示最近使用的命令历史记录。

  12. Ctrl + Shift + P:打开 PowerShell 集成脚本环境(ISE)。

  13. Tab:自动完成命令、参数或路径。

  14. F1:显示帮助信息。

  15. F2:在命令行中编辑命令。

  16. F3:在命令历史记录中向上搜索。

  17. F4:在命令历史记录中向下搜索。

  18. F7:显示命令历史记录。

  19. F8:在命令历史记录中逐条执行命令。

  20. Alt + F7:清除命令历史记录。

  21. Alt + F8:在命令历史记录中搜索命令。

  22. Alt + F9:执行命令历史记录中的最后一个命令。

  23. Alt + .:显示最近使用的命令。

  24. Shift + F10:打开上下文菜单。

  25. Shift + F11:打开脚本调试控制台。

这些快捷键可以帮助用户更快地执行命令、浏览历史记录以及在 PowerShell 中进行其他操作。记住这些快捷键可以显著提高在 PowerShell 中的工作效率。

3.管道和重定向

(1)管道和重定向的概念:

  • 管道 :在 PowerShell 中,管道操作符 | 用于将一个命令的输出作为下一个命令的输入。这允许用户将多个命令链接起来,以创建复杂的数据处理流程。
  • 重定向 :重定向操作符 > 用于将命令的输出结果保存到文件中,覆盖文件的原有内容。如果使用 >>,则会在文件的现有内容后追加输出。

(2)跨平台兼容性:

PowerShell 支持跨平台使用,这意味着它不仅支持 Windows 命令,还支持许多 Linux 命令,如 ls(列出目录内容)。

(3)基于对象的处理:

PowerShell 是基于对象的,这意味着它处理的是对象而不是简单的文本,可以处理来自不同平台的命令输出。这与传统的 CMD 环境不同,后者主要处理文本。

示例命令

  • ls | format-table Mode,name:这个命令使用管道将 ls 命令的输出传递给 format-table 命令,后者将输出格式化为表格,只显示文件的模式(Mode)和名称(name)。
  • ls | format-table Mode,name > a.txt:这个命令将上述格式化后的输出重定向到名为 a.txt 的文件中,覆盖文件的原有内容。
  • type a.txtcat a.txt:这两个命令用于显示 a.txt 文件的内容。
相关推荐
始终奔跑在路上15 分钟前
shell8
开发语言·网络安全
jmoych26 分钟前
我在华为的安全日常
大数据·运维·网络·安全·华为·架构·云计算
网络安全King2 小时前
网络安全的攻防战争
网络·安全·web安全
网络安全Jack2 小时前
[网络安全]XSS之Cookie外带攻击姿势详析
安全·web安全·xss
儒道易行2 小时前
【bWAPP】XSS跨站脚本攻击实战
前端·web安全·网络安全·xss
RayLink远程控制电脑3 小时前
远程控制软件新趋势
网络·安全·电脑·生活
Mitch3114 小时前
【漏洞复现】CVE-2022-45206 & CVE-2023-38905 SQL Injection
web安全·网络安全·docker·apache·jeecgboot
代码讲故事4 小时前
子域提取工具,子域名收集神器,支持多种数据源和枚举选项,域名发现工具,可以为任何目标枚举海量的有效子域名,安全侦察工具,利用证书透明原则监控部署的新子域
网络·安全·证书·域名·提取·扫描·子域名
亚信安全官方账号4 小时前
亚信安全春节14天双倍假期通告
网络安全