我们都知道如何在命令行或各种终端中启动一个程序,但是当你需要自动启动这个程序的时候,你就需要知道如何通过 PowerShell 或其他命令行终端来启动一个程序,而不是手工输入然后回车运行了。...本文就介绍 PowerShell 的命令行启动参数。利用这些参数,你可以自动化地通过 PowerShell 程序来完成一些原本需要通过手工执行的操作或者突破一些限制。...比如下面的 FRP 反向代理程序: 借助 cmd.exe 来启动的方法可以参见我的另一篇博客: cmd.exe 的命令行启动参数(可用于执行命令、传参或进行环境配置) - 吕毅 那么我们如何能够借助于...你就可以看到 PowerShell 的使用说明: PowerShell 的启动参数示例 使用 PowerShell 间接启动一个程序并传入参数 下面的命令,使用 PowerShell 间接启动 frpc.exe...比如其中之一,执行脚本。 使用 PowerShell 执行命令/脚本后保留窗口不退出 需要加上 -NoExit 参数。
call 命令 - 调用子批处理 描述: 此命令实现从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序,其命令接受用作调用目标的标签,如果在脚本或批处理文件外使用 Call,它将不会在命令行中起作用...] 指定批处理中的标签名以及参数 温馨提示: 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句,您必须通过达到批脚本文件末两次来 "exit" 两次, 第一次读到文件末时...温馨提示: 在脚本中获取命令行参数时,使用批脚本里的 %* 指出所有的参数 (如 %1 %2 %3 %4 %5 ...) 分别对应指定位置的参数值。...语法参数: PROMPT [text] # 参数 text 指定新的命令提示符字符串 # 命令行提示符可以由普通字符及下列特定代码组成: $A & (短 and 符号) $B | (管道) $C...,例如 dir $* 以下是 doskey 宏预定义的一些特殊代码: 上下箭头重新调用命令;Esc 清除命令行;F7显示命令历史记录;Alt+F7 清除命令历史记录;F8 搜索命令历史记录;F9 按编号选择命令
之前两篇文章,我们聊到 Alias 的一些常用实例 这几个常用 alias,带你高效做事 这几个常用 alias,带你高效做事(下) 类 Unix 系统中的 Alias,为一段功能命令设置一个别名,然后利用该别名去调用该功能...用于指定一个输入参数 比如:下面定义了两个别名,分别是安装依赖、查看当前代码的提交版本 id @echo off doskey pi=pip install $* doskey gitci=git rev-parse...我们只需要使用关键字「 T 」连接多条命令,利用关键字「 * 」作为可变参数即可 比如,下面定义了一个别名,相当于调用了 3 条命令 # 命令1:cd到某个文件夹目录 # 命令2:查看当前目录下所有的文件...并使用 为了使编写的 Alias 生效,我们需要重启 PowerShell 后再使用 2-4 参数化 在定义别名时,我们在别名函数中添加多个参数来实现参数化 # 参数:字符串,打开的文件夹目录 #...]$path){ cd C:\Users\xingag\Desktop\fe explorer "$path" dir } 推荐阅读 最全总结 | 聊聊 Python 命令行参数化的几种方式
(1)Powershell的进程无法接收键盘输入命令例如PowerShell的加载了一个在后台运行的脚本:Powershell -ep bypass -f 1.ps1 此时无法向Powershell的进程发送键盘消息...,这时可以通过读取进程的命令行参数获得有用的信息,开源代码:https://github.com/3gstudent/Homework-of-C-Language/blob/master/GetProcessCommandLine.cpp...代码实现了读取指定进程的命令行参数,通常能够获得有用的信息。...|export-csv $env:temp”\history.csv” 3.补充:查看cmd.exe的历史记录 命令如下: doskey /h 清空: doskey /reinstall 也可以通过发送键盘消息的方式导出的...,命令为:doskey /reinstall ps:本文介绍了两种PowerShell的命令的历史记录,总结常用导出历史记录的方法,结合利用思路,给出防御建议。
下面给出的是一个简单的样例: 其中,cmd.js是一个远程脚本,它能够从目标设备的内存中远程调用calc.exe,整个过程不会在硬盘中留下任何痕迹。...脚本或命令会通过命令行进程执行。...命令行为王 很多PowerShell攻击可以通过监控传递给PowerShell进程的命令行参数来进行检测。...Process_Command_Line中包含了传递给新创建进程(例如PowerShell)的命令行参数信息,我们可以基于一些常见参数(例如 –e, -Encod, -windowstyle , Bypass...而此时,我们就需要记录事件ID 4688,然后过滤并记录下任何关于PowerShell进程创建的活动以及传递给PowerShell的命令行参数,并以此来检测可疑的PowerShell攻击活动。
PowerShell是微软开发的一种强大的命令行界面和脚本语言,专为系统管理和任务自动化而设计。无论你是IT专业人士还是编程爱好者,了解PowerShell的基本功能都能极大提升你的工作效率。...它结合了命令行的即时性和脚本语言的灵活性,支持跨平台运行,包括Windows、Linux和macOS。 PowerShell的基本概念 Cmdlet 轻量级命令,执行特定任务。...管道 管道允许你将一个命令的输出直接传递给下一个命令作为输入。这种机制使得数据处理变得更加高效和简洁。 符号:在PowerShell中,管道由竖线符号(|)表示。...数据流:管道将前一个命令的输出传递给下一个命令的输入。 对象传递:与传统的命令行不同,PowerShell管道传递的是对象而不是文本。这意味着可以在管道中处理复杂的数据结构。...AllSigned:只运行由受信任发布者签名的脚本。 RemoteSigned:运行本地脚本无需签名,但从互联网下载的脚本需要签名。
的一些特性 Powershell对命令行和脚本环境添加了许多新的功能,以此来改善Powershell的管理和脚本脚本交互能力,想对于其他的命令脚本,Powershell有以下特性。...交互式脚本环境 PowerShell 将交互式环境和脚本环境组合在一起,从而允许访问命令行工具和 COM 对象,同时还可利用 .NET Framework 类库 (FCL) 的强大功能(可以加载调用cmd...右命令行很容易过度到脚本 使用 Windows PowerShell,可以很方便地从以交互方式键入命令过渡到创建和运行脚本。...除此之外,Powershell还可以调用外部的.ps1脚本文件,也可以在脚本中创建自己的函数。...即使是在 PowerShell 中运行传统命令行工具,也可以使用 PowerShell 的帮助功能。PowerShell 将对参数进行处理并将结果传递给外部工具。
通过命令行传递给Powershell的代码基本上是base64编码的,并用gzip压缩的,只有尾部一小部分没有编码。...随后,“pre_logic”函数会解压第三阶段中用到的Powershell脚本,就是包含在该脚本当中的一个base64编码的blob。该函数还会定义后续阶段将用到的一些代码,包括函数调用和参数。...这个函数会用DNS查询响应结果中获得的代码,定义一个包含该代码的字符串变量。然后,第三阶段中的解码函数会被调用,并将解码的字符串传递给IEX,来扩展Powershell环境。...这一步完成后,将调用新扩展环境中的一个函数,来执行第四阶段代码,并设置特定参数。这些参数包含后续将用到的第四阶段C2域名和将执行的程序,即Windows命令行处理器(cmd.exe)。...第四阶段Powershell 如前文所述,四阶Powershell payload是由三阶中的“dec”函数解码。
让我们深入了解函数参数的基本概念以及它们在Java中的角色。 函数参数是什么? 函数参数是函数定义的一部分,用于接收输入数据。它们允许在调用函数时将数据传递给函数,从而使函数能够执行特定的操作。...形式参数是函数内部使用的变量,用于处理传递给函数的实际参数。 实际参数(Actual Arguments): 实际参数是在调用函数时提供给函数的值。它们是函数调用的一部分,用于向函数传递数据。...什么是命令行传参 探索命令行传参的概念和定义 命令行传参是一种向程序传递参数和选项的方式,通常通过命令行界面完成。让我们深入探讨命令行传参的概念、必要性以及在软件开发中的重要性。 什么是命令行传参?...命令行传参在软件开发中的重要性 在软件开发中,命令行参数处理是实现可配置性的关键。它允许开发人员编写通用的命令行工具和脚本,以适应不同的使用场景。...命令行参数允许脚本编写者将通用脚本用于不同的任务和环境,而不必每次都编辑脚本代码。这提高了脚本的可重用性和通用性。 实际项目中的命令行传参案例 在实际项目中,命令行参数处理是非常常见的需求。
2.调用优先级 描述: Powershell调用入口的优先级(由上到下): 别名:控制台首先会寻找输入是否为一个别名,如果是执行别名所指的命令。...PowerShell 中可执行Bat批处理、VB脚本问号、以及PS1脚本文件。 Tips: 脚本和批处理都属于伪可执行文件,它们只是包含了若干命令行解释器能够解释和执行的命令行代码。...在对管道中的每个对象或所选对象执行操作的命令中,可以使用此变量。 $Args : 包含由未声明参数和/或传递给函数、脚本或脚本块的参数值组成的数组。...只有在声明参数的作用域(如脚本或函数)中, 此变量才有值。可以使用此变量显示或更改参数的当前值,也可以将参数值传递给 其他脚本或函数。...3.内置变量 描述: 内置变量包括了PS中的默认的环境变量、以及命令行控制显示变量、以及函数参数的变量。 1) 环境变量: 存在于操作系统之中但是如果环境变量被更新了其它程序也可以更新调用它。
第1步 - 打开并配置PowerShell 我们将在命令行界面上完成大部分安装和设置,这是一种与计算机交互的非图形方式。也就是说,您不是点击按钮,而是键入文本并通过文本从计算机接收反馈。...命令行(也称为shell)可以帮助您修改和自动化您每天在计算机上执行的许多任务,并且是软件开发人员必不可少的工具。 PowerShell是Microsoft的一个程序,它提供命令行shell接口。...AllSigned将使您能够运行由受信任的发布者签名的所有脚本和配置文件,这意味着您可能会打开您的计算机,冒着运行恰好由受信任的发布者签名的恶意脚本的风险。...这会将脚本传递给iexor Invoke-Expressioncmdlet,cmdlet将执行脚本的内容,运行Chocolatey包管理器的安装脚本。...要使用此环境,您需要激活它,您可以通过键入以下命令来调用Scripts目录中的activate脚本: my_env\Scripts\activate 您的提示现在将以您的环境名称作为前缀,在这种情况下,
ISE 集成脚本环境进行PS脚本脚本编写; Powershell特点: PowerShell 命令可以从命令行管理计算机(十分方便)。...PowerShell 具有丰富的表达式分析器和完全开发的脚本语言。 PowerShell 旨在消除长期存在的问题和添加新功能,从而改进命令行和脚本环境。...参数时,PowerShell 将显示该 cmdlet 的帮助。 Get-Service -? 通用参数: 参数由 PowerShell 引擎控制, 通用参数的行为方式始终相同。...PS 为IT管理员提供全面控制以及实现系统管理任务自动化的一个命令行 Shell 和基于任务的脚本技术; PS命令 导致操作被执行的管道中的元素。PS 命令可以在键盘上输入或以编程方式调用。...它可以由 PS 提供程序定义或是在命令行中创建。 在命令行创建的驱动器是特定于会话的驱动器,并在会话关闭时丢失。
现在则可以直接使用PowerShell脚本编写。 步进式管道:可以认为这种管道一次只传输一个元素。 数据区:数据区可以将脚本的数据与逻辑分隔开,除了易于管理外,还可以用来构建支持国际化的脚本。...脚本调试:可以在“行、列、函数、变量和注释”上设置断点。 打包操作符:可以使用@操作符来将一组键值对当成单一参数进行传递。 PowerShell ISE:“集成脚本环境”是一个轻量级的IDE。...它由三部分组成,最上面的部分用来编辑脚本,下面的部分则像PowerShell提示符一样,用来执行即 时命令。...模块:模块将代替snap-in来创建可重用的cmdlet、script和provider库。与snap-in需要安装不同,你可以简单的将模块拷贝到用户级或系统级目录下,然后就可以在脚本中直接调用了。...我们使用.net写了很多工具,在powershell到来之前,我们都是写成控制台程序来做这样的工作,现在有了强大的powershell脚本工具,如何将我们的丰富的工具快速转换成powershell脚本呢
背景 早就听说微软的powershell非常强大,凭借它可以全命令行操控windows服务器了。..." # 设置ssh登录的默认shell为powershell 给windows安装一个命令行的编辑器vim 运程操控windows服务器免不了要修改某些配置文件,个人还是比较适应vim,这里在windows...这些变量一般存放的内容包括 用户信息:例如用户的根目录$HOME 配置信息:例如powershell控制台的大小,颜色,背景等。 运行时信息:例如一个函数由谁调用,一个脚本运行的目录等。...在对管道中的每个对象或所选对象执行操作的命令中,可以使用此变量。 $Args 包含由未声明参数和/或传递给函数、脚本或脚本块的参数值组成的数组。...$Input 一个枚举数,它包含传递给函数的输入。$Input 变量区分大小写,只能用于函数和脚本块。(脚 本块本质上是未命名的函数。)
标准库新增 dotNet.ps 用于直接调用执行 PowerShell 脚本命令。...,但是这个DLL的位置比较奇葩,每个版本位置都不一样,网上的讨论都是到PS里敲一下命令行拿到DLL路径再调用,这个就更不方便了。...不用再带几MB的DLL,几句代码就可以调用PowerShell 了,而且自适应系统安装的PowerShell和.Net版本。...是bool类型,但是我们在 aardio 里很多非 bool 类型可以自动转换,例如我们传一个0,null都是在aardio中合法的,但是C#是静态语言,你传个0,他就因为找不到第二个参数是数值类型的对应函数而报错...同样的还有数组类型,例如C#的函数参数是string[]数组类型,如果我们在aardio里用{}传一个空数组进去,C#无法判断这是什么数组,然后又会找不到对应签名的函数而报错。
[TOC] 0x00 PS 编程基础 脚本注释 在PS中采用 #字符进行注释 调用优先级 Powershell调用入口的优先级: 别名:控制台首先会寻找输入是否为一个别名,如果是执行别名所指的命令。...PS运行其他脚本 PS运行文件和脚本 脚本和批处理都属于伪可执行文件,它们只是包含了若干命令行解释器能够解释和执行的命令行代码。...在对管道中的每个对象或所选对象执行操作的命令中,可以使用此变量。 $Args : 包含由未声明参数和/或传递给函数、脚本或脚本块的参数值组成的数组。...$Input : 一个枚举数,它包含传递给函数的输入。$Input 变量区分大小写,只能用于函数和脚本块。(脚本块本质上是未命名的函数。)...只有在声明参数的作用域(如脚本或函数)中, 此变量才有值。可以使用此变量显示或更改参数的当前值,也可以将参数值传递给 其他脚本或函数。
注:通过任务管理器查看CPU较高使用率和多个PowerShell.exe进程,能初步判断机器中了此木马,查看其计划任务有随机名,调用PwoerShell确定木马病毒存在。 攻击链路: ?...运行程序,此程序会调用Mimikatz脚本,进行本机用户和密码的抓取, 同时创建计划任务,每天固定时间点自动向XX.beahh.com发送http请求下载域名解析后服务器上的程序,并以HTA(内含微软某...病毒拥有远控功能,运行后将本机的CUP型号,操作系统版本,MAC地址,ip地址,域用户名,显卡信息,挖矿线程,以及计算机参数传递给终端: 该脚本新增一个计划任务,计划每天7:00运行 C:\windows...释放powershell脚本文件并执行mimikatz模块,运行mimi操作后,释放了另一个配置文件 ? mkatz.ini文件中为抓取到的用户密码hash值 ?...释放PowerShell脚本并执行,命令行参数为 ? 判断自身所在的路径,如果不是则拷贝自身到当前用户的缓存目录中再次启动: ?
魔改CobaltStrike:命由己造(上) ? 1 概述 这次我们来探究beacon里每个功能点是如何实现的,以便日后更好地实现自定义beacon。...首先分割teamserver回传的数据,得到上传的文件名,然后wb模式打开文件: ? 然后获得数据长度和内容,调用fwrite写入: ?...端口转发数据回传(没有命令参数) case15,case16,这两个是与rportfwd端口转发相关的case,首先接收到访问目标机器的请求信息: ?...中转子beacon所发送的数据(没有相关命令参数) case22,没有相关命令行,负责中转子beacon的数据传输(注意,不是端口转发的数据): ? ? ? ?...powershell-import case37,导入Powershell脚本 导入相关的ps脚本(如nishang)以便后续调用 ? ?
encoding:脚本执行后输出日志的编码,默认值为脚本运行所在系统的编码。 returnStatus:布尔类型,默认脚本返回的是状态码,如果是一个非零的状态码,则会引发pipeline执行失败。...powershell步骤执行的是PowerShell脚本,支持3+版本。这两个步骤支持的参数与sh步骤的一样。...build步骤其实也是一种触发pipeline执行的方式,它与triggers指令中的upstream方式有两个区别: 1.build步骤是由上游pipeline使用的,而upstream方式是由下游pipeline...text(name:'DEPLOY_TEXT', value:'a\n\b\nc\n'), string(name:'CHOICES00', value:'dev') ] 我们注意到choice类型的参数没有对应的传参方法...,而是使用string传参方法代替的。
在 windows 环境下,命令行程序为 cmd.exe,微软 Windows 系统基于 Windows 上的命令解释程序,类似于微软的 DOS 操作系统。...方法三:doskey /HISTORY 显示保存在内存中的所有命令 可搭配 more、findstr 命令进行使用: doskey /HISTORY | more doskey /HISTORY |...findstr dir doskey /HISTORY > d:\123.txt 重定向到文件 cmd 脚本创建和简单使用 后缀一般存储为 bat, cmd 格式的文件。...设置 cmd 窗口的标题 title 新标题 #可以看到 cmd 窗口的标题栏变了 输出到屏幕 echo 你好,cmd 将参数1,参数2 输入到命令行 hello.bat aaa...,本节不做介绍 批处理脚本遍历指定文件夹下的文件_RuncX的技术博客_51CTO博客 https://blog.51cto.com/runcx/2465152 参考 DOS批处理中的字符串处理详解(
领取专属 10元无门槛券
手把手带您无忧上云