一,认识使用powershell
PowerShell 是一个由微软开发的命令行外壳(Command Shell)和脚本语言,它结合了传统命令行工具的功能与现代编程语言的特性。最初用于系统管理和自动化任务,PowerShell 现在已经发展为跨平台的开发工具,广泛应用于 Windows、Linux 和 macOS 系统中。
1,两种进入powershell的方法
(1),输入win+r输入powershell
(2),输入win+r输入cmd,然后在cmd命令行界面输入powershell
2,通过输出环境变量的形式来查看powershell的版本
$psversiontable
3,powershell强大的功能,比如计算1GB/1TB/1PB有多大
以及各种数学运算功能
4,PowerShell 的命令(cmdlet)遵循一种标准的命名约定:动词 + 名词。这种命名规则旨在确保 cmdlet 的名称具有一致性和可读性,便于用户理解和使用。命名约定的核心目标是让 PowerShell 命令尽可能简洁明了。
动词 + 名词 命名规则
- 动词:表示操作的行为或动作,通常是 PowerShell cmdlet 执行的主要任务。例如:Get、Set、New、Remove 等。
- 名词:表示被操作的对象或资源,描述了 cmdlet 作用的目标。例如:Process(进程)、Item(项)、User(用户)等。
例子
常见的动词 + 名词 cmdlet 示例:
- Get-Process:获取当前运行的进程
- Get(动词)表示获取数据,Process(名词)表示要操作的对象是进程。
- Set-Item:设置项目(如设置文件或注册表项的值)
- Set(动词)表示设置,Item(名词)表示操作的对象是某个项目(如文件或注册表项)。
- New-Object:创建一个新的对象
- New(动词)表示创建,Object(名词)表示目标是一个对象。
- Remove-Item:删除一个项目
- Remove(动词)表示删除,Item(名词)表示要删除的对象是某个项目。
- Stop-Service:停止服务
- Stop(动词)表示停止,Service(名词)表示操作的对象是服务。
- Get-Help:获取帮助信息
- Get(动词)表示获取,Help(名词)表示获取的是帮助信息。
- Add-Content:向文件添加内容
- Add(动词)表示添加,Content(名词)表示要添加的内容是文件内容。
动词的常见分类
PowerShell 中有一组标准的动词,它们通常代表了对资源的常见操作。以下是一些常见的动词类别:
- 获取类动词:
- Get:获取信息,检索某个对象或状态。
- Find:查找,搜索符合条件的对象。
- 设置类动词:
- Set:设置对象的属性或状态。
- Add:向对象中添加元素或项。
- Remove:从对象中移除元素或项。
- Clear:清空对象的内容。
- 创建类动词:
- New:创建新的对象、资源或项。
- 删除类动词:
- Remove:删除对象或项。
- Stop:停止正在运行的服务或进程。
- 测试类动词:
- Test:测试某个条件或状态。
- Compare:比较两个对象或状态。
- 修改类动词:
- Set:设置对象的属性。
- Enable:启用某个功能或对象。
- Disable:禁用某个功能或对象。
例子分析
Get-ChildItem
- Get(动词)表示获取,ChildItem(名词)表示获取子项(如文件和文件夹)。这个 cmdlet 获取指定路径下的所有子项。
Set-ExecutionPolicy
- Set(动词)表示设置,ExecutionPolicy(名词)表示设置执行策略。这个 cmdlet 用来设置 PowerShell 脚本的执行策略。
Start-Process
- Start(动词)表示启动,Process(名词)表示启动一个新的进程。
Get-Content
- Get(动词)表示获取,Content(名词)表示获取内容。这个 cmdlet 用来读取文件内容。
你可以通过 Get-Command cmdlet 查看 PowerShell 中的所有命令及其对应的动词和名词。例如:
Get-Command |Select-Object Name
get-service查看启动的服务
Powershell的面对对象思想
PowerShell 作为一个强大的命令行和脚本语言,具有面向对象的思想(Object-Oriented Programming,简称 OOP),这种特性使得它不仅仅是一个简单的命令行工具,而是一个功能强大的自动化平台,能够处理复杂的数据结构和任务。虽然 PowerShell 主要用于系统管理和脚本编写,但它深入集成了面向对象的概念,使得用户能够方便地操作对象、调用方法和处理属性。
1. 对象是 PowerShell 的核心
在 PowerShell 中,所有的命令(cmdlet)几乎都处理和返回对象,而不是纯文本数据。与传统的命令行工具不同,PowerShell 不仅仅返回文本信息,而是通过对象来传递数据。对象是包含数据和行为的实体,具有属性(attributes)和方法(methods)。这种面向对象的方式使得 PowerShell 更加灵活和强大,特别是在进行复杂操作时。
原文始发于微信公众号(泷羽sec-freesec):Powershell使用指南
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论