首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2.PS编程入门基础语法

版本 3.0 开始,可以使用 PSItem 而不是 。...Switch 循环语句 描述: Switch 本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理。...基础案例: # 1.示例中所示的 break 语句导致循环在第一次迭代时退出。...它跳过数字 3,并继续执行循环的下一次迭代。与 break 类似 continue 将中断除当前迭代以外的循环。 # Execution 将继续进行下一次迭代,而不是中断循环并停止。...键值对的与文件中的某一行字符进行验证是否匹配时采用.Equals()时返回为False,一定要注意文件中是否带有\"\"在进行匹配时也必须带上其”单引号字符进行匹配,坑呀(一下午就荒废在这里了) $TestString

12.6K60

win10win11需要使用新应用以打开此Windowsdefender链接

-AllUsers:这个参数意味着它会列出系统上所有用户安装的应用,而不仅仅是当前用户的应用。 | Foreach { ... } | (管道符):将前面的命令的输出结果作为后面命令的输入。...在这里,它把 Get-AppxPackage 所获取到的应用列表传递给 Foreach 循环。 Foreach { ... }:对于管道传入的每一个 AppX 包,执行大括号 {} 中的代码块。...在此案例中,它是 Windows 安全中心应用。 -AllUsers: 这个参数表示获取所有用户下安装的该应用,而不仅仅是当前用户的版本。这用于确保无论哪个用户安装了该应用,都会被包含在内。...版本: 确保你使用的是 Windows PowerShell,而不是其他终端。...PowerShell 版本是相对较新的,但不是最新的(例如,PowerShell 7系列是基于 .NET Core 的新版本)。

16510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Follina .html文件免杀

    前言 第一次尝试手动过杀软,成功与否全看运气,没有任何技术含量,仅做记录,标题带双引号是因为word并没有过静态的查杀 正文 在原始的样本中,是通过ms-msdt调用后,执行powershell ms-msdt.../Windows/System32/mpsigstub.exe IT_AutoTroubleshoot=ts_AUTO 在一键生成word的脚本follina.py中,生成的payload是这样的 ms-msdt.../Windows/System32/mpsigstub.exe" 通过对比上下两条,发现原始的样本中,删除执行的powershell后没查杀,而一键生成的则还是会被查 于是将payload中的IT_RebrowseForFile...先看看两个Invoke-Expression存在的时候会不会被杀,并不会 本人不会powershell,所以用Invoke-Obfuscation对calc命令进行混淆了一下,生成出来的命令如下:...{"等符号出现在.html中的时候好像就会一直在检测问题 所以我们把payload都改为ascii的字符,就得到了 $(Invoke-Expression($(Invoke-Expression('-

    82510

    网络安全自学篇(二十)| Powershell基础入门及常见用法(二)

    三.Powershell循环语句 1.foreach循环 这里定义数组采用“$arr=1…10”实现,表示1到10的数字,在调用foreach循环输出。 ? ?...2.while循环 while循环需要注意循环的终止条件,防止出现死循环,而do_while循环是先执行一次循环体,再进行判断。...do_whlie先执行循环体,再进行条件判断,如下所示: ? ? 3.break和continue关键词 break跳出整个循环,停止执行;continue跳出当前循环一次,继续执行下一个判断。...在Powershell中,转义字符不再是斜杠(\)而是(`),如下所示。 `n 换行 `r 回车符 `t tab键 `b 退格符 `’ 单引号 ? ? ?...在Powershell中显示注册表指令如下: ? ? 对应注册表图形界面。 ? ? ? 对应图形界面。 ? 其他访问也类似。 ? ? 对应图形界面: ? 读取键值 ? ? 设置键值 ?

    2.8K20

    windows中cmd和PowerShell批处理命令

    git branch -D因为这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的。...cmd 中批处理命令# 在cmd中用 % 标识变量,如果是批处理程序执行bat文件中需要使用 %% 来表示变量如 %%i# 在cmd小黑窗窗口中for %i in (xxx) do command# 在...26个字母中的任意一个,这些字母会区分大小写,也就是说,%%I和%%i会被认为不是同一个变量为了不与批处理中的%0~%9这10个形式变量发生冲突,请不要随意把%%I替换为%%0~%%9中的任意一个for...语句依次提取(xxx)中的每一个元素,把它的值赋予形式变量I,带到do后的command中参与命令的执行;当执行完一次do后的语句之后,再提取(xxx)中的下一个元素,再执行一次command,如此循环...PowerShell 中的条件和循环这些和普通的编程语言比较像,PowerShell 中实现换行多行命令输入,按住 ctrl + Enter# -lt:小于 (less than)for($i=0;$i

    40930

    如何使用PowerShell批量删除注册表项

    如何使用PowerShell批量删除注册表项 问题描述 注册表路径以及如何获得注册表子项 基于条件过滤删除项 For循环删除子项 问题描述 卸载了可牛压缩软件以后,发现右键菜单中仍然有可牛压缩的选项。...注册表路径以及如何获得注册表子项 在PowerShell中注册表也有路径,跟我们文件和文件夹路径类似,上面的注册表项的路径可以表示为: REGISTRY::\HKEY_USERS\S-1-5-21-3610452307..._符号代表迭代过程中的每个变量,是PSItem系统内置变量的别名。在这里即代表的是 For循环删除子项 通过?...命令选择出来要删除的元素以后,我们可以使用ForEach_Object命令(别名foreach或者%)遍历该数组删除所有元素,代码如下: $items | % {rm -Force -Recurse $...{$_.PSPath -like "*kzip_main.exe*"} | % {rm -Force -Recurse $_.PSPath} 在强调一遍,注册表删除有风险,最好进行备份再进行操作!!!

    4.1K10

    技术分享|amsi绕过总结

    而普通的静态杀毒软件是没办法的。 当用户执行脚本或启动 PowerShell 时,AMSI.dll 被动态加载进入内存空间。...并不是!amsi是在Windows 10 和Windows Server 2016 之后才有的,然后并不是所有的杀毒软件都可以调用amsi接口。国内的基本都不可以。...是没有amsi的,所以在powershell2.0上执行恶意脚本就不会被检测到 下图是powershell在各个系统上的预装情况,可以看到现在常见的win10、Windows 2016、2019很少预装有...powershell2.0(amsi是从win10、2016开始存在的),但是由于很多服务需要低版本的powershell,所以在红蓝对抗中也会碰到装有powershell2.0 的机器。...当然并不是所有脚本都可以在低版本的powershell执行。

    1.9K21

    pycharm修改环境_pycharm更改环境

    数据库名称 IN_SCHEMA='python' # 数据库模式 IN_TABLE='fine' # 数据库表名称 这个文件为了方便理解,每一行都添加了注释.问题就在这里,我们不能直接全选所有行,然后一次性粘贴到添加环境变量里面...,因为那样设置的环境变量将包含后面的注释内容,而不是我们需要的 #号前的内容.所以只能一行一行的手动选择复制注释前的内容到上一步.当然了如果你的文件中没有注释,就不存在这个问题....if(Test-Path tmpenv.ps1){rm tmpenv.ps1} #遍历存放环境变量的文本文件 evn.txt,在行首添加 "$env:"后追加到 tmpenv.ps1文件中 foreach...的情形,调试前只需要在Terminal中手动执行以下命令: . ....\setenv.ps1 注意前两个点之间有空格,执行后通PowerShell命令 $env:IN_HOST 可以看到变量生效了,在python中用以下命令也可以获取到 import os os.getenv

    1.7K30

    使用管道符在PowerShell中进行各种数据操作

    无论是在Linux中写Bash脚本还是在Window上写PowerShell,管道符”|“是一个非常有用的工具。它提供了将前一个命令的输出作为下一个命令的输入的功能。...在PowerShell中我们也可以通过各种Get-XXX命令获得各种各样需要的数据,但是并不是所有操作系统和各个版本的PowerShell都支持某个命令的。...在PowerShell中也有对应的命令Group-Object。如果我们想要按进程的Name进行分组,查看每个进程名对应的VM总大小。...而我们要进行聚合的VM值是在Group中。这时需要用到前面提到的Select命令。...在PowerShell中对应的命令是ForEach-Object,可以简写为ForEach,还可以进一步简写为”%“。

    2.3K20

    计划任务的攻防战 | Window 应急响应

    SD 值,之后看看是否可以在计划任务程序中删除 随便写点,例如两个 00 刷新计划任务程序 还是没显示,不过我发现 powershell 似乎已经可以发现它了 Get-ScheduledTask -TaskName.../tn "\test4" /V /FO LIST 查询不到,这里有一个细节大家注意,指名道姓地查询 test4 的时候显示的是拒绝访问,查询不存在的 test5 的时候是找不到指定的文件 如果大家在测试的过程中没有注意细节...,尤其是它还处于一个比较深的目录,powershell 的结果和计划任务程序的结果一一对比工作量会比较大,不是很好处理 0x05 计划任务服务重启会怎样 上述的两种隐藏,在计划任务服务重启后,还会有效吗...0x06 对抗仅修改 SD 隐藏 对于仅修改 SD 而不是删除这种情况,可以有几个方向考虑(当然,遇到这种情况肯定是前两种脚本已经执行过了,没有发现隐藏的计划任务) 想办法让所有的计划任务禁用再启用或者统一修改属性...,在这之前监控计划任务文件所在的文件夹,通过文件变化 powershell 结果与其他程序结果进行对比 schtasks 将注册表中所有的计划任务都执行一次,查找报错 这里就以第三种方法做个演示吧 1.

    1.7K10

    powershell2.0的弊端

    1、7z在powershell2.0命令行的特定解压命令有问题,兼容性差,得换个powershell语句才行 例如下面代码执行到解压哪一行时就走不下去,所以我才用#注释了它,然后用另一个兼容性高的powershell...中,不论是否匹配到,都不会报错,但在powershell2.0中要么第2句$OEMNumbers匹配不到(语法问题,调整后可以匹配到),要么匹配不到则在foreach语句中出现异常 $RedHatDrivers1...系统本身已经能支持得更高,比5.1还高,那支持tls1.2肯定也没问题) 在升级到powershell5.1后,powershell支持tls1.2还是有问题的话,参考我这篇文档设置powers配置文件来解决...这可能是因为您正在使用的 .NET Framework 或 PowerShell 的版本过低。 在 PowerShell 中,TLS 1.2 由 .NET Framework 提供支持。....NET Framework 4.5 及更高版本支持 TLS 1.2,但只有在 .NET Framework 4.6 及更高版本中,TLS 1.2 才是默认启用的。

    29400

    powershell学习备忘

    最近的错误是该数组中的第一个错误对象 ($Error[0])。 $False 包含 FALSE。可以使用此变量在命令和脚本中表示 FALSE,而不是使用字符串”false”。...在函数的 Process 块中,$Input 变量包含当前位于管道中的对 象。在 Process 块完成后,$Input 的值为 NULL。...可以在命令和脚本中使用此变量表示 NULL,而不是使用字符串”NULL”。 如果该字符串转换为非空字符串或非零整数,则可将该字符串解释为 TRUE。...可以在命令和脚本中使用此变量表示 TRUE。 详细参见这里 环境变量 传统的控制台一般没有象Powershell这么高级的变量系统。它们都是依赖于机器本身的环境变量,进行操作 。...Sort-Object: 按属性值对象进行排序。 Tee-Object: 将命令输出保存在文件或变量中,并将其显示在控制台中。

    12.4K60

    Alternative Process Injection

    shellcode 覆盖内存页中的字节不应使进程崩溃 DLL 由不同的进程共同加载 在原文中作者给出了一个用来测试的C# static void Main(string[] args) { string...有效内容复制到新内存; 远程进程中创建一个新的线程来执行shellcode(CreateRemoteThread); 使用VirtualFreeEx在目标进程中解除分配XRW内存; 使用CloseHandle...这个注入手法这是没有使用OpenProcess打开目标进程,而是使用了往目标进程中加载的dll的.text 代码段区域进行读写shellcode。...hProcess, [IntPtr]::Zero, $dwSize, 0x20, 0x40 ); 5.使用CreateRemoteThread创建一个新线程 在远程进程中创建一个新的线程来执行...PEB 模块,因为新加载的库不是使用 LdrLoadDll 调用的 但是并不是很稳定,目标进程很可能在注入后无法使用,例如我花了一点时间来怎么样注入到ESET中时,eset的进程就会崩溃,(可能是DLL

    96240

    Windows中常见后门持久化方法总结

    映像劫持 这个和shift后门差不多,只不过在低版本的windows中,我们可以简单地替换程序,但是在高版本的windows版本中替换的文件受到了系统的保护,所以这里我们要使用另外一个知识点:映像劫持。...PS:来自百度百科 简单来说就是当目标程序被映像劫持时,当我们启动目标程序时,启动的是劫持后的程序而不是原来的程序 操作也很简单,在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft...注册表自启动项 MSF的Persistence模块利用的就是写注册表自启动项来实现的,一般自启动项是这两个键:Run和RunOnce,两者的区别如下 Run:该项下的键值即为开机启动项,每一次随着开机而启动...定时任务 windows下定时任务的命令有两个分别是:at和schtasks,他们两者主要区别是at命令在win7、08等高版本的windows中是不能将任务在前台执行的,也就是只会打开一个后台进程,而...可以利用文件的“打开方式”进行关联选择。

    2.8K21
    领券