Skip to content

🔲 PowerShell

概述:PowerShell 是微软开发的跨平台命令行 Shell 和脚本语言,基于 .NET 运行时。与传统的文本处理 Shell 不同,PowerShell 处理的是 .NET 对象,使其在数据处理和系统管理方面更加强大。

概述

PowerShell 属于 脚本 & 运维语言 分类。PowerShell 7+ 已开源并支持 Windows、Linux 和 macOS 跨平台运行。

语言特点

  • 对象管道:命令间传递 .NET 对象而非纯文本,保留结构化数据
  • 统一命名:Cmdlet 采用"动词-名词"命名规范(如 Get-Process
  • 强类型系统:基于 .NET 类型系统,支持类型检查和转换
  • 远程管理:原生支持 WinRM/SSH 远程执行
  • 跨平台:PowerShell 7+ 支持 Windows/Linux/macOS

Hello World

powershell
Write-Host "Hello, World!"

基础语法

变量与数据类型

powershell
# 变量以 $ 开头
$age = 25
$name = "PowerShell"
$price = 99.99
$isActive = $true

# 强类型变量
[int]$count = 10
[string]$message = "Hello"

# 数组
$fruits = @("Apple", "Banana", "Cherry")

# 哈希表
$person = @{
    Name = "Alice"
    Age  = 30
    City = "Beijing"
}

控制流

powershell
# if-elseif-else
if ($age -ge 18) {
    Write-Host "成年人"
} elseif ($age -ge 12) {
    Write-Host "青少年"
} else {
    Write-Host "儿童"
}

# for 循环
for ($i = 0; $i -lt 10; $i++) {
    Write-Host $i
}

# foreach 循环
foreach ($fruit in $fruits) {
    Write-Host $fruit
}

# while 循环
while ($count -gt 0) {
    $count--
}

# switch 语句
switch ($day) {
    "Monday"    { "周一" }
    "Tuesday"   { "周二" }
    default     { "其他" }
}

函数

powershell
# 函数定义
function Get-Greeting {
    param(
        [string]$Name = "World"
    )
    return "Hello, $Name!"
}

# 调用
Get-Greeting -Name "PowerShell"

# 管道函数
function Filter-Even {
    process {
        if ($_ % 2 -eq 0) { $_ }
    }
}
1..10 | Filter-Even

常用 Cmdlet

powershell
# 文件操作
Get-ChildItem          # 列出文件
Get-Content file.txt   # 读取文件
Set-Content file.txt   # 写入文件
Copy-Item src dst      # 复制
Remove-Item file.txt   # 删除

# 进程管理
Get-Process            # 查看进程
Stop-Process -Name "app"  # 终止进程

# 服务管理
Get-Service            # 查看服务
Start-Service -Name "Spooler"

# 系统信息
Get-ComputerInfo       # 计算机信息
Get-EventLog -LogName System -Newest 10

应用领域

  • Windows 管理:系统配置和维护自动化
  • Active Directory:用户和权限批量管理
  • Azure 运维:Azure 资源管理和自动化部署
  • Office 365:企业办公自动化和批量操作
  • 安全审计:系统安全检查和合规性验证
  • CI/CD:Windows 环境下的构建和部署

开发环境搭建

  1. Windows 10/11 自带 Windows PowerShell 5.1
  2. 安装 PowerShell 7+:winget install Microsoft.PowerShell
  3. Linux:sudo apt install powershell
  4. 编辑器:VS Code + PowerShell 扩展
  5. 代码检查:PSScriptAnalyzer 模块

学习路线

  1. 入门阶段:Cmdlet 基础 → 管道 → 变量和类型 → 条件判断
  2. 进阶阶段:函数 → 模块 → 远程执行 → 错误处理
  3. 实战阶段:系统管理脚本 → Azure 自动化 → CI/CD
  4. 高级阶段:DSC 配置管理 → 自定义模块开发 → 性能优化

返回首页 | 查看所有语言

编程语言技术文档