开机自动执行的PowerShell脚本路径查询求助
开机自动执行的PowerShell脚本路径查询求助
我的McAfee系统提示开机时会执行以下命令:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass ./TeamsFirewall.ps1
但我在磁盘上找不到这个PowerShell脚本,也猜不出这个命令的调用路径,有没有办法找到它?
兄弟,这种用相对路径的启动脚本确实容易让人摸不着头脑,给你几个实用的排查方向:
先定位启动项的工作目录
打开任务管理器(按Ctrl+Shift+Esc)切换到「启动」标签,找到对应的PowerShell启动项:- 右键选择「打开文件位置」,这个文件夹就是脚本的默认工作目录,
./TeamsFirewall.ps1大概率就在这里; - 要是看不到完整路径,切到「详细信息」标签,找到该进程的「命令行」列,这里可能会显示脚本的完整路径(如果没被截断的话)。
另外也可以查注册表启动项:按Win+R输入regedit,检查以下几个注册表键: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run- 相关的
RunOnce键值,说不定能找到带完整路径的命令记录。
- 右键选择「打开文件位置」,这个文件夹就是脚本的默认工作目录,
查看PowerShell操作日志
打开PowerShell终端,执行以下命令搜索相关日志:Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' | Where-Object {$_.Message -like '*TeamsFirewall.ps1*'} | Select-Object TimeCreated, Message日志里可能会记录脚本执行时的实际路径,帮你定位文件。
深挖McAfee的告警详情
打开McAfee控制台找到这条告警,查看完整的告警信息——杀毒软件通常会记录命令的上下文,包括脚本的实际位置,或者它拦截到的路径。全磁盘搜索脚本文件
要是上面的方法都没找到,直接在PowerShell里执行全磁盘搜索(可能会有点慢):Get-ChildItem -Path C:\ -Recurse -Name 'TeamsFirewall.ps1' -ErrorAction SilentlyContinue它会列出磁盘上所有同名的脚本文件,你可以逐一排查。
备注:内容来源于stack exchange,提问作者GioP




