Powershell-2

  声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

感谢泷羽sec 团队的教学
视频地址:powershell(2)_哔哩哔哩_bilibili

一 、Powershell使用外部命令

在 Powershell 中,可以执行一些外部命令,这些命令通常位于系统环境变量中。而系统环境变量是操作系统用来存储配置信息的变量,比如文件路径、系统设置等。在 Windows 中,常见的环境变量包括 PATHTEMPSystemRoot 等。

Powershell调用外部命令的正确语法

在 PowerShell 中,执行外部命令时,通常需要在命令前加上 & 操作符。例如,&"notepad" 是正确的写法。这是因为 PowerShell 需要明确知道这是一个外部命令,而不是 PowerShell 内部命令。

例如,notepad 命令可以直接执行,因为它在 system32 目录下,而该目录在系统环境变量中

& "notepad"

直接执行不在系统环境变量中的命令时会发生报错。例如,wordpad 不在系统环境变量中,直接执行会失败。

因此,执行不在系统环境变量中的命令时,需要使用完整路径和 & 操作符来执行。

&"C:\Program Files\Windows NT\Accessories\wordpad.exe"

二 、Powershell命令集

PowerShell 中的命令(cmdlet)通常采用动名词的命名方式。例如,Get-ProcessStart-Service 等。这种命名方式对于英语较好的用户来说非常友好,因为它们直观地描述了命令的功能。

此外,PowerShell 兼容 CMD 中的命令,可以在 PowerShell 中直接打开 CMD 并执行 CMD 命令。这意味着在 PowerShell 中可以使用 CMD 中的所有命令,增加了 PowerShell 的灵活性和功能。

1.常用的命令集

系统信息
  • Get-ComputerInfo
    获取计算机的详细信息,包括操作系统版本、硬件信息等。

  • Get-Process
    列出当前运行的所有进程。可以使用 -Name-Id 参数筛选特定进程。

  • Get-Service
    查看系统服务的状态。可以使用 -Name 参数筛选特定服务。

  • Get-NetIPAddress
    获取网络接口的 IP 地址信息。

文件和目录操作
  • Get-ChildItem (lsdir)
    列出目录中的文件和子目录。可以使用 -Recurse 参数递归列出所有内容。

  • New-Item
    创建文件或目录

  • Remove-Item
    删除文件或目录

  • Copy-ItemMove-Item
    复制和移动文件或目录

网络操作
  • Test-Connection
    测试网络连接,类似于 ping 命令。

  • Get-NetAdapter
    获取网络适配器信息。

  • Get-NetRoute
    查看路由表信息。

用户和权限
  • Get-LocalUser
    列出本地用户账户。

  • New-LocalUser
    创建本地用户账户。

  • Get-LocalGroupMember
    查看本地组成员。

任务和作业
  • Start-Process
    启动一个新的进程。

  • Stop-Process
    终止一个进程。

  • Start-JobReceive-Job
    启动后台作业并获取作业结果。

脚本和模块
  • Import-Module
    导入 PowerShell 模块。

  • Get-Command
    获取可用的命令。可以指定模块或命令类型,可获取powershell的所有命令。

  • Get-Help
    获取命令的帮助信息。

其他常用命令

  • Clear-Host (clsclear)
    清空控制台屏幕。

  • Set-ExecutionPolicy
    设置脚本执行策略。

  • Get-Date
    获取当前日期和时间。

  • Write-OutputWrite-Host
    输出内容到控制台。

三 、Powershell别名的使用

PowerShell 的别名使得命令更加易于记忆和使用。通过使用 Get-Help 命令,你可以查找任何命令的别名,并使用这些别名来简化你的工作流程。记住,别名和全称命令的效果是完全相同的,所以你可以放心地使用它们

1. 查找 PowerShell 命令的别名

要查找某个命令的别名,可以使用以下命令:

Get-Help <CommandName> -Full

例如,要查找 Get-Command 命令的别名,可以使用:

Get-Help Get-Command -Full

这将显示 Get-Command 命令的详细信息,包括它的别名。在这个例子中,Get-Command 的别名是 gcm

2. 使用别名

一旦你知道了某个命令的别名,就可以直接使用这个别名来执行命令。例如,Get-Command 的别名是 gcm,所以你可以使用 gcm 来代替 Get-Command

gcm

这将列出所有可用的 PowerShell 命令。

3. 多个别名

有些命令可能有多个别名。例如,Get-ChildItem 命令有多个别名,包括 lsdirgci。你可以使用这些别名中的任何一个来执行 Get-ChildItem 命令:

ls
dir
gci

这些命令都会列出当前目录中的文件和文件夹。

4. 查询别名对应的全称命令

当我们知道一个命令的别名之后,我们可以通过这个命令的别名查找出对应的全称命令

(1)查询特定别名对应的全称命令

使用 Get-Alias 命令,后跟 -Name 参数,可以查询特定别名对应的全称命令。

示例:

Get-Alias -Name ls
Get-Alias -Name dir
(2)查找以特定字符开头或结尾的命令

使用 Get-Alias 命令结合管道操作符 |Where-Object 命令,可以筛选出以特定字符开头或结尾的命令。

示例:

Get-Alias | Where-Object { $_.Definition.StartsWith("Remove") }

这条命令就可以查询出Remove开头的命令

(3)复杂的筛选和排序

查找所有别名信息

使用 Get-Alias 命令结合管道操作符 |Group-Object 命令,可以按别名对应的实际命令定义进行分组,然后使用 Sort-Object 命令对分组结果进行排序。

Get-Alias | Group-Object Definition | Sort-Object -Descending Count

解释

  • Get-Alias:获取当前会话中已定义的所有命令别名。

  • Where-Object:筛选出满足特定条件的别名信息。

  • Group-Object:按别名对应的实际命令定义进行分组。

  • Sort-Object:对分组结果进行排序,可以按对象数量的多少进行降序排序。

5.自定义别名

如果系统的命令实在是不好记忆,可以使用自定义别名来对应命令。

(1)创建别名

使用 Set-Alias 命令创建自定义别名。例如,将 notepad 命令的别名设置为 pad

Set-Alias -Name pad -Value notepad

创建别名后,可以直接使用别名 pad 来启动记事本程序。

注意:通过 Set-Alias 创建的别名只在当前 PowerShell 会话中有效,关闭 PowerShell 窗口后别名将不再存在。

(2)删除别名

使用 Remove-Item 命令删除别名,例如删除 pad 别名:

Remove-Item Alias:pad

或者使用 del alias:pad 命令(这是 Remove-Item 的别名)。

(3)导出别名

使用 Export-Alias 命令将别名导出到一个文件中,例如将别名导出到 demo.ps1 文件:

Export-Alias -Path demo.ps1
(4)导入别名

使用 Import-Alias 命令导入别名,例如导入 demo.ps1 文件中的别名:

Import-Alias -Path demo.ps1

使用 -Force 参数强制导入,即使文件中的别名已存在:

Import-Alias -Path demo.ps1 -Force

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/957967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配

文章目录 引言I 表结构主要表前缀及其用途核心表II 流程设计器(Flowable BPMN模型编辑器插件)Flowable-UIvue插件III 流程部署部署步骤例子:根据流程模型ID部署IV 启动流程启动步骤ACT_RE_PROCDEF:流程定义相关信息例子:根据流程 ID 启动流程V 流程审批审批步骤Flowable 审…

快速入门Flink

Flink是新一代实时计算平台&#xff0c;采用原生的流处理系统&#xff0c;保证了低延迟性&#xff0c;在API和容错上也是做的相当完善&#xff0c;本文将从架构、组件栈、安装、入门程序等进行基础知识的分析&#xff0c;帮助大家快速对Flink有一个了解。 一.简介 1.是什么 Ap…

VOSK实现【离线中文语音】识别

Vosk是一款开源的离线语音识别工具包&#xff0c;具有以下功能&#xff1a; 多语言支持&#xff1a;能够对20多种语言和方言进行语音识别&#xff0c;如中文、英语、德语、法语、西班牙语等&#xff0c;可满足不同用户的语言需求。 模型轻量化&#xff1a;每种语言的模型大小仅…

最新版pycharm如何配置conda环境

首先在conda prompt里创建虚拟环境&#xff0c;比如 conda create --prefix E:/projects/myenv python3.8然后激活 conda activate E:/projects/myenv往里面安装点自己的包&#xff0c;比如 conda install pytorch1.7.1 torchvision0.8.2 -c pytorch打开pycharm 注意&#x…

MySQL用户授权、收回权限与查看权限

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

【vitpress】静态网站添加访问量统计

这里要是用的插件是不蒜子。 1.安装插件 npm i busuanzi.pure.js2.添加VisitorPanel.vue文件 在.vitepress/theme/components文件添加VisitorPanel.vue文件&#xff0c;内容如下&#xff1a; <!-- .vitepress/theme/components/VisitorPanel.vue --> <template>…

Data Filtering Network 论文阅读和理解

目录 一、TL&#xff1b;DR 二、Introduction 2.1 apple的结论 2.2 业界做法&#xff1a; 2.3 我们的做法&#xff08;Apple&#xff09; 2.4 如何获取好的DFN 三、未完待续&#xff08;这周出去购物了&#xff0c;下周继续补充&#xff09; 一、TL&#xff1b;DR 核心…

MATLAB绘图时线段颜色、数据点形状与颜色等设置,介绍

MATLAB在绘图时&#xff0c;设置线段颜色和数据点的形状与颜色是提高图形可读性与美观性的重要手段。本文将详细介绍如何在 MATLAB 中设置这些属性。 文章目录 线段颜色设置单字母颜色表示法RGB 值表示法 数据点的形状与颜色设置设置数据点颜色和形状示例代码 运行结果小结 线段…

部署 Harbor 私有云仓库

参考链接&#xff1a;https://docs.tianshu.org.cn/docs/setup/deploy-harbor-cloud-warehouse 使用

150 Linux 网络编程6 ,从socket 到 epoll整理。listen函数参数再研究

一 . 只能被一个client 链接 socket例子 此例子用于socket 例子&#xff0c; 该例子只能用于一个客户端连接server。 不能用于多个client 连接 server socket_server_support_one_clientconnect.c /* 此例子用于socket 例子&#xff0c; 该例子只能用于一个客户端连接server。…

Java基础 (一)

基础概念及运算符、判断、循环 基础概念 关键字 数据类型 分为两种 基本数据类型 标识符 运算符 运算符 算术运算符 隐式转换 小 ------>>> 大 强制转换 字符串 拼接符号 字符 运算 自增自减运算符 ii赋值运算符 赋值运算符 包括 强制转换 关系运算符 逻辑运算符 …

项目集成RabbitMQ

文章目录 1.common-rabbitmq-starter1.创建common-rabbitmq-starter2.pom.xml3.自动配置1.RabbitMQAutoConfiguration.java2.spring.factories 2.测试使用1.创建common-rabbitmq-starter-demo2.目录结构3.pom.xml4.application.yml5.TestConfig.java 配置交换机和队列6.TestCon…

Codeforces Round 1000 (Div. 2) B and C

B. Subsequence Update 链接&#xff1a;Problem - B - Codeforces 题意&#xff1a;给定一个数组 可以选择任意个元素 后对这些元素进行排序 问你给定一个区间 这个区间的最小值 算法&#xff1a;贪心 排序 思路&#xff1a;下标1到r的最小个&#xff08;r-l1&#xff09;…

进程的哪些内存类型容易引起内存泄漏

相信你在平时的工作中&#xff0c;应该遇到过下面这些场景&#xff1a; 伴随着服务器中的后台任务持续地运行&#xff0c;系统中可用内存越来越少&#xff1b; 应用程序正在运行时忽然被 OOM kill 掉了&#xff1b; 进程看起来没有消耗多少内存&#xff0c;但是系统内存就是不够…

如何给自己的域名配置免费的HTTPS How to configure free HTTPS for your domain name

今天有小伙伴给我发私信&#xff0c;你的 https 到期啦 并且随手丢给我一个截图。 还真到期了。 javapub.net.cn 这个网站作为一个用爱发电的编程学习网站&#xff0c;用来存编程知识和面试题等&#xff0c;平时我都用业余时间来维护&#xff0c;并且还自费买了服务器和阿里云…

Glarysoft Malware Hunter 多语检测和删除各种恶意软件和间谍软件 v1.195.0.824

Glarysoft Malware Hunter 是一款专业的安全工具&#xff0c;旨在帮助用户检测和删除各种恶意软件和间谍软件。它可以扫描和删除计算机上的病毒、木马、广告软件和其他安全威胁。 软件功能 病毒扫描&#xff1a;Malware Hunter可以快速而全面地扫描计算机&#xff0c;以查找潜…

通过Ukey或者OTP动态口令实现windows安全登录

通过 安当SLA&#xff08;System Login Agent&#xff09;实现Windows安全登录认证&#xff0c;是一种基于双因素认证&#xff08;2FA&#xff09;的解决方案&#xff0c;旨在提升 Windows 系统的登录安全性。以下是详细的实现方法和步骤&#xff1a; 1. 安当SLA的核心功能 安…

Windows远程连接Docker服务

问题背景 本地开发了一个SpringBoot项目&#xff0c;想通过Docker部署起来&#xff0c;我本地是Window11系统&#xff0c;由于某些原因不能虚拟化并且未安装Docker-Desktop&#xff0c;所以我在想有没有办法本地不需要虚拟化也不需要安装Docker-Desktop来实现支持Docker命令远…

Ubuntu20.04 运行 Cartographer demo bag

官方文档&#xff1a; Running Cartographer ROS on a demo bag — Cartographer ROS documentation Running Cartographer ROS on a demo bag Now that Cartographer and Cartographer’s ROS integration are installed, you can download example bags (e.g. 2D and 3D b…

【R语言】流程控制

一、流程控制 R语言中&#xff0c;常用的流程控制函数有&#xff1a;repeat、while、for、if…else、switch。 1、repeat循环 repeat函数经常与 break 语句或 next 语句一起使用。 repeat ({x <- sample(c(1:7),1)message("x ", x, ",你好吗&#xff1f…