当前位置:首页 > 技术文章 > 正文内容

Windows PowerShell10个常用命令的30个示例

zonemu2个月前 (07-17)技术文章18

Windows PowerShell中10个常用命令的每个命令3个示例,涵盖不同使用场景:

1.Get-Command(查找命令)

  • 查找所有可用命令
    Get-Command
    (列出所有已安装的命令模块和函数)
  • 查找与网络相关的命令
    Get-Command *network*
    (显示名称包含"network"的命令,如Get-NetIPAddress)
  • 查看Get-Service的详细信息
    Get-Command Get-Service | Format-List
    (显示命令的模块、参数等元数据)

2.Get-Help(获取帮助)

  • 查看Get-Process的基本帮助
    Get-Help Get-Process
    (显示命令的语法和简要说明)
  • 获取Copy-Item的详细示例
    Get-Help Copy-Item -Examples
    (展示实际使用案例)
  • 更新帮助文档后重新加载
    Update-Help
    Get-Help Stop-Service -Full
    (先更新帮助,再查看完整文档)

3.Get-Process(管理进程)

  • 列出所有进程并按CPU排序
    Get-Process | Sort-Object CPU -Descending
    (显示CPU占用最高的进程)
  • 查找特定名称的进程
    Get-Process -Name "chrome"
    (获取所有Chrome浏览器进程)
  • 结束无响应的进程
    Get-Process | Where-Object { $_.Responding -eq $false } | Stop-Process -Force
    (强制终止所有未响应的进程)

4.Get-Service(管理服务)

  • 列出所有运行中的服务
    Get-Service | Where-Object { $_.Status -eq "Running" }
  • 检查特定服务的状态
    Get-Service -Name "WinRM"
    (查看Windows远程管理服务状态)
  • 重启打印服务
    Restart-Service -Name "Spooler" -Force
    (强制重启打印池服务)

5.Set-ExecutionPolicy(脚本权限)

  • 允许本地脚本运行
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    (仅当前用户可运行本地未签名脚本)
  • 恢复默认限制
    Set-ExecutionPolicy Restricted -Force
    (禁止所有脚本执行)
  • 临时绕过策略执行脚本
    powershell.exe -ExecutionPolicy Bypass -File "C:\script.ps1"
    (不修改策略直接运行脚本)

6.Start-Service/Stop-Service

  • 启动蓝牙服务
    Start-Service -Name "bthserv"
  • 停止并禁用Windows更新服务
    Stop-Service -Name "wuauserv"
    Set-Service -Name "wuauserv" -StartupType Disabled
  • 重启IIS服务
    Restart-Service -Name "W3SVC" -Force

7.Copy-Item(文件操作)

  • 复制文件到备份目录
    Copy-Item "C:\data\report.docx" -Destination "D:\backup\"
  • 递归复制整个文件夹
    Copy-Item "C:\logs\" -Destination "E:\archive\" -Recurse
  • 复制时重命名文件
    Copy-Item "old.txt" -Destination "new.txt"

8.Remove-Item(删除文件)

  • 删除单个文件
    Remove-Item "C:\temp\junk.log" -Force
    (强制删除只读文件)
  • 清空文件夹内容(保留文件夹)
    Remove-Item "C:\cache\*" -Recurse -Force
  • 删除30天前的日志文件
    Get-ChildItem "C:\logs\*.log" | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item

9.Invoke-WebRequest(网络请求)

  • 下载文件
    Invoke-WebRequest " https://example.com/file.zip" -OutFile "C:\downloads\file.zip"
  • 获取网页内容并提取链接
    (Invoke-WebRequest " https://example.com").Links | Select-Object href
  • 提交POST请求(API调用)
    Invoke-WebRequest -Uri " https://api.example.com/login" -Method POST -Body @{user="admin";pass="123"}

10.ForEach-Object(循环处理)

  • 批量重命名文件
    Get-ChildItem "*.txt" | ForEach-Object { Rename-Item $_ -NewName ($_.Name -replace ".txt",".bak") }
  • 计算文件夹大小
    Get-ChildItem "C:\data\" | ForEach-Object { $sum += $_.Length }; $sum/1MB
  • 并行处理任务
    1..10 | ForEach-Object -Parallel { Start-Process "notepad" } -ThrottleLimit 3
    (同时打开3个记事本实例)

实用技巧:

  • 组合命令
    Get-Service | Where-Object { $_.Status -eq "Stopped" } | Start-Service
    (自动启动所有已停止的服务)
  • 输出到文件
    Get-Process > C:\process_list.txt
  • 测量命令执行时间
    Measure-Command { Get-ChildItem -Recurse }

相关文章

Ubuntu 24.10发行版登场:Linux 6.11内核、GNOME 47桌面环境

IT之家 10 月 11 日消息,Canonical 昨日发布新闻稿,正式推出代号为 Oracular Oriole 的 Ubuntu 24.10 发行版。新版在内核方面升级到最新 6.11 版本,并...

Windows 下 Git 拉 Gitlab 代码(gitlab拉项目)

读者提问:『阿常你好,Windows 下 Git 拉 Gitlab 代码的操作步骤可以分享一下吗?』阿常回答:好的,总共分为五个步骤。一、Windows 下安装 Git官网下载链接:https://g...

(在线编辑DWG)网页CAD二开实现焊接符号绘制

前言在工程制图和制造领域,焊接符号(Welding Symbols)是用于表示焊缝类型、尺寸、位置以及工艺要求的标准化图形语言。广泛应用于机械设计、钢结构、船舶制造、压力容器等行业中,帮助技术人员理解...

VIM配置整理(vim配置教程)

一、基本配色set number set showcmd set incsearch set expandtab set showcmd set history=400 set autoread se...

web前端入门:css+html5+javascript同时学可以吗?

HTML+CSS+JS是前端基础核心知识,肯定是都要学的。在web前端中,HTML是结构标准,CSS是样式标准,JS是行为标准,三者缺一不可。说的直白点,HTML就是骨架,CSS就是皮肤,JS就是灵魂...

15款测试html5响应式的在线工具(测试类h5)

手机、平板灯手持设备的增多,网站要顺应变化,就必须要做响应式开发,响应式网站最大的特点在于可以在不同设备下呈现不同的布局,是基于html5+css3技术,目前越来越多的网站开始采用了响应式设计,而下面...