关于 powershell

简述

PowerShell 是微软开发的命令行外壳与脚本语言,核心用于 Windows 系统管理、自动化任务和应用程序部署,功能远强于传统的 CMD。


核心定位:不止是 “高级 CMD”

PowerShell 基于.NET 框架(新版本基于.NET Core),本质是 “面向对象的命令行工具”,与传统 CMD 的关键区别如下:

对比维度PowerShell传统 CMD
核心技术基于.NET/.NET Core基于 DOS
处理对象面向对象(如文件、进程等实体对象)面向文本(仅处理字符流)
脚本能力支持复杂逻辑(循环、判断、函数)仅支持简单批处理命令
扩展生态可安装数千个第三方模块(如 Azure、AWS 管理模块)几乎无扩展模块

主要用途

  1. 日常操作替代 GUI:通过命令快速完成文件管理、进程控制等,比如批量重命名文件、终止占用端口的进程。
  2. 自动化重复任务:编写脚本(.ps1 后缀)自动执行多步骤操作,比如定期备份数据、批量部署软件。
  3. 系统与服务器管理:远程管理 Windows Server、Active Directory、Exchange 等,无需图形界面即可完成配置。

基础语法:快速上手核心概念

PowerShell 的语法有明确规则,掌握以下 3 点即可应对大部分基础操作:

  1. Cmdlet 命名规则:均遵循「动词 - 名词」结构(Verb-Noun),比如 Get-ChildItem(查看目录内容,类似 CMD 的 dir)、New-Item(创建文件 / 文件夹),便于记忆和查找。
  2. 变量与参数:变量以 $ 开头,比如 $filePath = "C:\test.txt";命令参数以 - 引导,比如 Get-Content -Path $filePath(读取文件内容)。
  3. 管道(|):可将前一个命令的输出,直接作为后一个命令的输入,比如 Get-Process | Where-Object { $_.Name -eq "notepad" }(先获取所有进程,再筛选出记事本进程)。

模块生态:扩展功能的关键

模块是 PowerShell 的 “插件”,可快速添加特定领域的功能,核心使用流程如下:

  1. 查找模块:通过 Find-Module -Name *Azure* 在官方仓库(PSGallery)搜索所需模块,比如 Azure 云管理、Office 365 管理模块。
  2. 安装模块:首次使用需先安装,命令为 Install-Module -Name 模块名(需以管理员身份运行)。
  3. 导入模块:安装后需导入才能使用,命令为 Import-Module -Name 模块名,部分模块会在 PowerShell 启动时自动导入。

运行安全:脚本执行的限制与解除

默认情况下,Windows 会限制 PowerShell 脚本运行,避免恶意脚本攻击,核心安全控制方式是 执行策略(ExecutionPolicy)

  • 查看当前策略:执行 Get-ExecutionPolicy,默认多为 Restricted(禁止运行任何脚本)。
  • 修改策略:以管理员身份运行 PowerShell,执行 Set-ExecutionPolicy RemoteSigned(允许运行本地编写的脚本,远程下载的脚本需数字签名)。
  • 注意事项:修改策略仅对当前用户或当前计算机生效,且需重启 PowerShell 才能生效;若无需长期使用,完成脚本运行后可改回 Restricted 提升安全性。

版本差异:PowerShell 5.1 vs 7+

目前主流版本分为 Windows 自带的 5.1 和 跨平台的 7+(PowerShell 7.0 及以上),核心区别如下:

对比维度PowerShell 5.1PowerShell 7+
系统兼容性仅 Windows支持 Windows、macOS、Linux
核心依赖.NET Framework.NET 5+(更轻量、性能更强)
新功能支持无后续重大更新支持管道并行、新语法(如??空合并运算符)
安装方式Windows 默认自带需手动从官网下载安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值