当前位置: 首页 > 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.cnnetsun.cn/news/92207.html

相关文章:

  • 活动力度大的门头招牌企业
  • 【毕业设计】基于JavaWeb的兽医站管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • Java毕设选题推荐:基于JavaWeb的兽医站管理系统的设计与实现现代化兽医站管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Arduino配置8266开发板
  • 【课程设计/毕业设计】基于SpringBoot+Vue茶叶销售系统的设计与实现基于Java语言的茶叶销售系统的前端设计与实现【附源码、数据库、万字文档】
  • 41. 缺失的第一个正数
  • 打了一堆板子,才发现是VDD_EXT的锅
  • 技术亲民倒计时!飞猫 RedCap 轻量化 5G 随身 WiFi 即将上市!
  • # 深入 Ascend C 内存模型:掌握UB、GM与流水线优化,打造极致AI算子
  • 冥想第一千七百三十五天(1735)
  • 代理IP和普通IP有什么区别?这篇文章帮你捋明白
  • 体系结构分类和指令系统
  • 基于AI数字人系统源码的低成本开发方案与实践经验
  • SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
  • YOLO目标检测模型如何对接Apipost平台
  • 简单的创建一个Spring Boot网页
  • 鼠标滚轮缩放图片:前端实现高清无损放大技巧(附实战代码)
  • Numpy库实践2_索引和数组的操作
  • 图解 - 红黑树(插入)
  • Memgraph 全新 AI 图工具包:一键构建 GraphRAG 聊天机器人,实现快速上下文感知响应
  • 初始化列表和特殊成员
  • (二)前端基础框架构建
  • vLLM推理引擎教程6-Nsight Systems性能分析
  • 基于MATLAB的燃料电池汽车参数匹配与能量管理策略优化及仿真模型研究资料库
  • AM247L-0000伺服电机
  • DoraemonKit(DoKit)使用教程:从集成到实战
  • 构筑 AI 理论体系:深度学习 100 篇论文解读 第十九篇:序列建模的焦点——注意力机制 Attention Mechanism (2015)
  • 【小白笔记】移除元素与删除有序数组中的重复项与轮转数组(三步反转)
  • 什么是关键字驱动测试?
  • 前沿技术借鉴研讨-2025.12.16(超声心动图综述/妊娠期糖尿病/降低CTG解读主观性)