news 2026/4/16 15:28:04

PowerShell基础与命令发现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PowerShell基础与命令发现
目录
  • 文件与目录操作
  • 管道与数据处理
  • 系统信息查询
  • 进程、服务与网络状态
  • 文件哈希计算
  • 远程命令执行
1. 概述

PowerShell是Windows下的强大命令行Shell和脚本语言,用于系统管理和自动化。了解如何查找和使用命令是基础。

方法/工具
  1. 更改目录
    *Set-Location -Path <路径>: 更改当前工作目录。
    * 别名:cd,sl
    * 示例:Set-Location -Path "C:\Users\Public\Documents"
  2. 命令发现
    *Get-Command: 获取当前会话中所有可用的命令(Cmdlet、函数、别名、应用程序)。
    *Get-Command -CommandType <类型>: 根据类型筛选命令 (e.g.,Function,Cmdlet,Alias)。
    * 示例:Get-Command -CommandType Function
  3. 命令帮助
    *Get-Help <命令名>: 获取指定命令的详细帮助信息。
    *Get-Help <命令名> -Examples: 显示命令的使用示例。
    * 别名:help,man
    * 示例:Get-Help Get-Process -Examples
  4. 命令别名
    *Get-Alias: 列出所有已定义的命令别名及其对应的命令。
  5. 模块管理 (在线)
    *Find-Module -Name "<模块名模式>": 在PowerShell Gallery等在线存储库中搜索模块。
    *Install-Module -Name "<模块名>": 从在线存储库下载并安装模块。
    * 示例:Find-Module -Name "*Azure*"
    * 示例:Install-Module -Name "PowerShellGet" -Force(安装或更新核心模块)
2. 文件与目录操作
概述

使用PowerShell进行常见的文件系统管理任务,如列表、创建、删除、复制和移动文件/目录。

方法/工具
  1. 列出文件和目录
    *Get-ChildItem -Path <路径>: 列出指定路径下的文件和目录。
    * 别名:gci,dir,ls
    * 示例:Get-ChildItem -Path C:\Windows
  2. 创建文件或目录
    *New-Item -Path <完整路径> -ItemType <类型>: 创建新项。类型可以是FileDirectory
    * 别名:ni
    * 示例 (文件):New-Item -Path ".\newfile.txt" -ItemType File
    * 示例 (目录):New-Item -Path ".\newdir" -ItemType Directory
  3. 删除文件或目录
    *Remove-Item -Path <路径>: 删除指定的文件或目录 (对目录使用-Recurse删除非空目录)。
    * 别名:ri,rm,del,rmdir
    * 示例:Remove-Item -Path ".\oldfile.txt"
    * 示例:Remove-Item -Path ".\olddir" -Recurse
  4. 复制文件或目录
    *Copy-Item -Path <源路径> -Destination <目标路径>: 复制项 (对目录使用-Recurse)。
    * 别名:cpi,copy,cp
    * 示例:Copy-Item -Path .\myfile.txt -Destination C:\backup\
  5. 移动或重命名文件或目录
    *Move-Item -Path <源路径> -Destination <目标路径>: 移动或重命名项。
    * 别名:mi,move,mv
    * 示例 (移动):Move-Item -Path .\myfile.txt -Destination C:\temp\
    * 示例 (重命名):Move-Item -Path .\oldname.txt -Destination .\newname.txt
  6. 读取文件内容
    *Get-Content -Path <文件路径>: 读取文件内容。
    * 别名:gc,type,cat
    * 示例:Get-Content -Path ".\config.log"
3. 管道与数据处理
概述

PowerShell的核心特性之一是管道 (|),它允许将一个命令的输出对象传递给另一个命令作为输入,实现强大的数据流处理。

方法/工具
  1. 排序 (Sort-Object)
    * 根据对象的属性对通过管道传递的数据进行排序。
    * 别名:sort
    * 示例:Get-ChildItem | Sort-Object Length -Descending(按文件大小降序排序)
  2. 筛选 (Where-Object)
    * 根据指定的条件筛选通过管道传递的对象。
    * 别名:where,?
    * 常用比较运算符:-eq(等于),-ne(不等于),-gt(大于),-ge(大于等于),-lt(小于),-le(小于等于),-like(通配符匹配),-match(正则匹配),-contains(包含),-notcontains(不包含)
    * 示例:Get-Process | Where-Object -Property CPU -gt 100(查找CPU使用率高的进程)
    * 示例:Get-ChildItem | Where-Object -Property Extension -eq ".log"(查找.log文件)
  3. 选择属性 (Select-Object)
    * 从通过管道传递的对象中选择指定的属性(列)。
    * 别名:select
    * 参数:-Property <属性列表>,-First <数量>,-Last <数量>,-Unique,-ExpandProperty <属性名>
    * 示例:Get-Process | Select-Object Name, Id, CPU(只显示进程名、ID和CPU使用)
    * 示例:Get-ChildItem | Select-Object -First 5(显示前5个文件/目录)
  4. 文本搜索 (Select-String)
    * 在文件内容或字符串输入中搜索匹配指定模式(支持正则表达式)的文本行。
    * 别名:sls(类似Linux的grep或Windows的findstr)
    * 参数:-Path <路径>,-Pattern <搜索模式>,-CaseSensitive,-SimpleMatch(禁用正则)
    * 示例 (文件搜索):Select-String -Path ".\*.log" -Pattern "Error"(在所有.log文件中搜索"Error")
    * 示例 (管道搜索):Get-Content .\myfile.txt | Select-String -Pattern "password"
4. 系统信息查询
概述

获取有关本地计算机硬件、操作系统、用户和网络配置的信息。

方法/工具
  1. 综合系统信息
    *Get-ComputerInfo: 检索全面的系统和操作系统信息。
    * (类似systeminfo.exe)
  2. 本地用户账户
    *Get-LocalUser: 列出系统上的所有本地用户账户。
  3. 网络配置
    *Get-NetIPConfiguration: 提供网络接口的详细配置信息 (IP地址、子网掩码、网关、DNS)。
    * (类似ipconfig /all)
  4. IP地址信息
    *Get-NetIPAddress: 仅提供IP地址相关的详细信息。
5. 进程、服务与网络状态
概述

查看当前运行的进程、系统服务状态以及网络连接情况。

方法/工具
  1. 进程查看
    *Get-Process: 提供所有当前正在运行的进程的详细视图。
    * 别名:gps,ps
  2. 服务查看
    *Get-Service: 提供当前计算机上所有服务的状态信息。
  3. TCP连接查看
    *Get-NetTCPConnection: 显示当前的TCP连接及其状态(监听端口、活动连接等)。
    * (类似netstat -ano)
6. 文件哈希计算
概述

计算文件的哈希值,常用于验证文件完整性或识别文件。

方法/工具
  1. 计算文件哈希
    *Get-FileHash -Path <文件路径>: 计算指定文件的哈希值。
    * 默认算法: SHA256。可以使用-Algorithm参数指定其他算法 (e.g.,MD5,SHA1,SHA384,SHA512)。
    * 示例:Get-FileHash -Path .\important.zip -Algorithm MD5
7. 远程命令执行
概述

使用PowerShell Remoting (基于WinRM协议) 在远程计算机上执行命令或脚本。需要远程计算机启用并配置WinRM。

方法/工具
  1. 调用命令 (Invoke-Command)
    *Invoke-Command -ComputerName <远程计算机名或IP> -ScriptBlock { <要执行的命令> }: 在单台或多台远程计算机上执行脚本块。
    *Invoke-Command -ComputerName <远程计算机名> -FilePath <本地脚本路径>: 将本地脚本文件发送到远程计算机并执行。
    *-Credential <凭据对象或用户名>: 使用指定凭据进行身份验证。
    * 示例 (脚本块):Invoke-Command -ComputerName Server01, Server02 -ScriptBlock { Get-Process winlogon }
    * 示例 (凭据):Invoke-Command -ComputerName Server01 -Credential Domain01\User01 -ScriptBlock { Get-Culture }
    * 示例 (脚本文件):Invoke-Command -ComputerName WebServer01 -FilePath C:\Scripts\DeployApp.ps1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:51:56

kanass全面介绍(12) - 如何自定义事项类型,满足个性化需求

Kanass是一款国产的开源免费、简洁易用的项目管理工具&#xff0c; 包括项目管理、迭代管理、事项管理等。支持默认事项需求、任务、缺陷&#xff0c;同时还支持自定义事项类型。本文将介绍如何自定义事项类型并创建自定义事项。1、系统中添加事项类型1.1 自定义表单添加字段系…

作者头像 李华
网站建设 2026/4/16 13:42:04

Java计算机毕设之基于java的餐厅信息管理系统设计西餐厅管理系统设计(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 15:04:30

DQ 变换相关公式记录

目录 一、Clark 变换&#xff08;3 相→2 相变换&#xff09; 1. 正变换&#xff08;abc→αβ&#xff0c;三相静止→两相静止&#xff09; &#xff08;1&#xff09;等幅变换&#xff08;保持基波幅值不变&#xff09; &#xff08;2&#xff09;等功率变换&#xff08;保…

作者头像 李华
网站建设 2026/4/16 15:04:44

【课程设计/毕业设计】基于java的城市公交调度系统基于java+springboot的城市公交调度管理系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华