当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/100970/

相关文章:

  • LMX2581ESQX/NOPB,3.8 GHz 宽带频率合成器, 现货库存
  • Java计算机毕设之基于java+springboot+vue的二手儿童绘本交易系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 【课程设计/毕业设计】基于javaweb的图书管理系统基于javaweb的在线图书借阅管理系统【附源码、数据库、万字文档】
  • Java计算机毕设之基于java的餐厅信息管理系统设计西餐厅管理系统设计(完整前后端代码+说明文档+LW,调试定制等)
  • Cordova与OpenHarmony浇水记录系统
  • ADP2108AUJZ-2.5-R7,峰值效率可达95%的600mA降压转换器, 现货库存
  • 活动力度大的门头招牌企业
  • 系统敏感安全文件路径
  • FOTA升级进阶指南:文件系统直接升级+串口分段升级
  • 必看!2026年TOP8 EOR名义雇主人力资源解决方案推荐榜单,如何选择EOR名义雇主?
  • FastMCP之Resources
  • 【课程设计/毕业设计】基于Java兽医站管理系统基于JavaWeb的兽医站管理系统的设计与实现【附源码、数据库、万字文档】
  • 建造者模式-创建型
  • DNP3.0学习记录
  • TypedArray 详解
  • kanass全面介绍(12) - 如何自定义事项类型,满足个性化需求
  • 神经网络实战:AlexNet训练花卉分类
  • kanass全面介绍(13) - 如何做好测试管理
  • 28.封装 map set (下)
  • 打了一堆板子,才发现是VDD_EXT的锅
  • 分支语句和循环语句
  • 区块链交易所技术革命白皮书:如何用分布式架构扛住量子计算时代?
  • Java计算机毕设之基于JavaWeb的智慧养老院管理系统的设计与实现基于Java的养老服务智慧管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Cordova与OpenHarmony施肥记录管理
  • Solidity入门(8)-库合约Library
  • 还买啥USB网卡~直接开启RNDIS就行
  • DApp开发暴风指南:7天从零到上线,手把手教你用代码撬动Web3流量红利
  • 冥想第一千七百三十五天(1735)
  • 零碳园区应急能源基础架构规划:备用电源与清洁能源联动配置
  • 2026年EOR名义雇主服务优势TOP8对比榜单,助力全球化布局与用工优化