前言与演示
周末快乐,或者说,暑假快乐?当然暑假快乐指的是高考结束的大家啦。996的我也就只能享受星期日带来的温馨了。跑题了,2025版Adobe软件或者说正版有着Adobe Creative Cloud的你们,是不是遇到一个非常无语的问题,就是这玩意是真的喜欢在后台“逗留”,即便你关闭了Adobe的软件以及把Adobe Creative Cloud,它还是会给你留一两个进程在这里恶心你,就如同下面图片一样........
有些人就疑惑了,为什么不关掉自启动或在Adobe Creative Cloud软件关闭掉那些后台运行不就行了,但很遗憾的是我早已关闭,但仍旧无济于事,其实这个关闭我猜测说的就是这个客户端,而不是这些AI生成云存档这些进程(也就是我们要关闭的)
当然一些旧版本的就说了既然这样为什么还要用2025呢(正版用户表示。。。),不得不承认2025好用的功能太多了,就拿我常用的Adobe软件的PS来说,2025除了可以一键抠图和快速选择主体以外这些“老功能”,我最喜欢的还是移除工具,配合上Adobe的创意试生成(AI生成) 几乎可以做到删除了都没有人可以发现端倪,而且这个功能不想国内的移除一样有什么风险上的限制,最重要的就是不会损坏图片的画质。
多说无益,所以就没有两全其美的方法了吗?当然有,而且可能是全网首发~,接下来请看VCR
当然这个是手动模拟测试的,实际会在后台运行并不会影响正常使用也不会留下什么控制栏或图标,同时因为只有 1 个 PowerShell 脚本,且还是按需启动、任务结束即退出。 因此几乎不会占多少进程多菜鸡的电脑都可以轻松运行(当然你电脑真的这么菜还可以运行Adobe的软件?)
第一步:添加结束Creative Cloud进程脚本
原理很简单,脚本在后台监测Adobe软件是否启动,如启动后就会监测什么时候关闭,如果监测到关闭就会清除进程,就是如此简单。首先找到一个可以记得住位置+不容易删除的地方,右键—新建—文本文档,命名为“Adobe cloud.ps1”当然Adobe cloud不一定要这个你喜欢怎么写就怎么写,但是文件后缀要ps1,如看不见后缀可在查看——文件扩展名打开即可
创建后正常情况双击就会以记事本方式打开,当然也可以右键——打开方式——记事本,打不开后复制下面这段脚本代码
# 本PS1由www.nsxsb.com发布,由ChatGPT o3协助(我是菜鸡,别骂被骂wuwuwu)
#region === 配置 ===
$SoftwareProcessNames = @('Creative Cloud','Photoshop') # Creative Cloud请勿删除!多个 Adobe 软件的进程名('PremierPro', 'Illustrator')
$PollingIntervalSeconds = 5 # 轮询间隔
$KillDelaySeconds = 5 # Photoshop 关闭后延时清理
$MaxRetries = 5 # 每个进程最多重试次数
$RetryDelaySeconds = 5 # 两次重试间隔
# 目标进程(可自行增删)
$CcProcesses = @(
'Creative Cloud',
'CCXProcess',
'Adobe Desktop Service',
'CoreSync',
'CCLibrary',
'AdobeUpdateService',
'AdobeNotificationClient',
'Creative Cloud Helper',
'AdobeIPCBroker'
)
# 若确定是“服务”在守护,可把服务名加到此处
$AdobeServices = @(
# 'AdobeUpdateService',
# 'AGSService' # Adobe Genuine Software Integrity Service
)
# 日志文件
$LogFile = Join-Path $env:USERPROFILE 'Documents\AdobeWatchdog_Log.txt'
#endregion
function Write-Log {
param([string]$Msg,[string]$Level='INFO')
$time = Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
$line = "[$time][$Level] $Msg"
switch ($Level){
'INFO' {Write-Host $line}
'WARN' {Write-Host $line -ForegroundColor Yellow}
'ERROR'{Write-Host $line -ForegroundColor Red}
}
Add-Content -Path $LogFile -Value $line -Encoding UTF8 -ErrorAction SilentlyContinue
}
function Kill-ProcessAggressive {
param(
[string]$ProcessName,
[int]$Retries = 5, # 增加重试次数
[int]$Delay = 5 # 每次重试间隔设置为 10秒
)
$attempt = 0
while ($attempt -lt $Retries) {
$procs = Get-Process -Name $ProcessName -ErrorAction SilentlyContinue
if (-not $procs) {
Write-Log "[$ProcessName] 不存在,跳过剩余重试。" ; return
}
foreach ($p in $procs) {
try {
# 使用 taskkill 来终止进程
$result = & taskkill /F /T /PID $p.Id 2>&1
if ($LASTEXITCODE -eq 0) {
Write-Log "taskkill 成功终止 [$ProcessName] (PID $($p.Id))"
}
else {
Write-Log "终止 [$ProcessName] (PID $($p.Id)) 失败:$result" 'WARN'
}
}
catch {
Write-Log "taskkill 执行失败:$($_.Exception.Message)" 'ERROR'
}
}
# 如果进程依然存在,等待并再次重试
Write-Log "[$ProcessName] 进程仍在运行,等待 $Delay 秒后再次重试…" 'WARN'
Start-Sleep -Seconds $Delay
$attempt++
}
# 重试结束后再检查一次
if (Get-Process -Name $ProcessName -ErrorAction SilentlyContinue) {
Write-Log "达到最大重试次数,[$ProcessName] 仍在运行!" 'ERROR'
}
else {
Write-Log "[$ProcessName] 已彻底结束。"
}
}
function Stop-AdobeServices {
foreach ($svc in $AdobeServices) {
try {
$service = Get-Service -Name $svc -ErrorAction Stop
if ($service.Status -ne 'Stopped') {
Stop-Service -Name $svc -Force -ErrorAction Stop
Write-Log "已停止服务 [$svc]"
}
# 禁止开机自启
if ($service.StartType -ne 'Disabled') {
Set-Service -Name $svc -StartupType Disabled -ErrorAction Stop
Write-Log "已将服务 [$svc] 设置为 Disabled"
}
}
catch {
Write-Log "处理服务 [$svc] 时出错:$($_.Exception.Message)" 'WARN'
}
}
}
function Clean-CcProcesses {
Write-Log ">>>> 开始清理 Adobe 相关进程…"
foreach ($name in $CcProcesses | Sort-Object -Unique) {
Kill-ProcessAggressive -ProcessName $name -Retries $MaxRetries -Delay $RetryDelaySeconds
}
if ($AdobeServices.Count) {
Stop-AdobeServices
}
Write-Log "<<<< 清理完成"
}
Write-Log "======== Watchdog 启动:仅在 Adobe 软件关闭后清理 CC ========"
$softwareWasRunning = @{} # 用字典来跟踪各个软件的启动状态
$closeTime = $null
while ($true) {
try {
foreach ($software in $SoftwareProcessNames) {
$isRunning = (Get-Process -Name $software -ErrorAction SilentlyContinue).Count -gt 0
$softwareWasRunning[$software] = $isRunning
if ($isRunning) {
if (-not $softwareWasRunning[$software]) { Write-Log "检测到 $software 启动" }
$closeTime = $null
}
else {
if ($softwareWasRunning[$software]) {
$closeTime = Get-Date
Write-Log "检测到 $software 退出,$KillDelaySeconds 秒后执行清理…"
}
if ($closeTime -and ((Get-Date) - $closeTime).TotalSeconds -ge $KillDelaySeconds) {
Clean-CcProcesses
$closeTime = $null
}
}
}
}
catch {
Write-Log "监控循环错误:$($_.Exception.Message)" 'ERROR'
}
Start-Sleep -Seconds $PollingIntervalSeconds
}
软件会时刻更新,代码并不会自行更新,在前面本站设置的进程可能在未来不起到作用,这个时候就只能靠你们更新啦,其实在前面也说过原理很简单,你只需要找到没有结束的进程然后把这个进程添加到脚本里面就可以了。不会?,一步步来!
找到没办法结束的进程
按Ctrl+Shift+Esc打开任务管理器,选择详细信息,你应该不会说我不知道Adobe Creative Cloud软件图标这么让人无话可说的语句吧,回到话题,按字母顺序你很容易就可以看到它(当然有些也不是A开头了,自己慢慢找吧),只需要右键——属性你就可以这个文件的信息了,包括名字、位置、大小等等,但我们需要的就是这个名字(注意不要复制.exe)
复制好名字后,打开脚本,找到我图片这个地方,然后在图片光标的地方('Creative Cloud',
后面)按回车/Enter下移一行
切换到英文输入法,打出两个''标点符号(不是逗号哦),然后在标点符号的中间粘贴上上面在任务管理器复制到的进程名字(比如上面任务管理器图片演示的是Adobe Desktop Service),所以下面的图片标点符号中间的就是Adobe Desktop Service
最后一步,上面图片的光标位置,继续加上一个英文的逗号(这一次是真是逗号了)然后就完成了,如同下方图片一样加上逗号然后就按Ctrl+S或左上角的文件——保存然后退出再继续手动测试即可
(完成了第二步的前提)最后不要忘记在任务计划程序点击结束然后再点运行哦,不然配置没有生效,后台还是在运行没有保存的配置
看到这个头都痛了?发现,你需要修改的地方很少,不用担心,首先必须修改的就是脚本中的$SoftwareProcessNames = @('Photoshop')
的('Photoshop')
,这里因为我2025版本只有PS,所以我这里就只填PS的进程名,如果你除了PS还有PR、AE、AI等等你也可以加上了,如('Photoshop','PremierPro', 'Illustrator')
,但是注意最后一个不要加英文逗号哦。
不知道进程名是什么的,找到软件右键——打开文件所在的位置,点击后会自动选择文件,而这个就是你的进程名了,只需要复制名字就行了,后面的exe不需要
不过注意,可能有部分打开会跳到快捷方式(简称套娃),复制这个是没有用的哦!,解决方法也很简单,只需要在这个套娃的快捷键上重复一遍(右键——打开文件所在的位置)就可以跳到真的进程了(进程旁边都是有dll或者其他的)
1.5:手动测试
添加好进程后按Ctrl+S或左上角的文件——保存然后退出,以防万一这边进行手动测试。首先要知道你创建脚本的位置,只需要按住shift键,注意是按住shift键不是按一下哦,然后右键你创建脚本,这个时候就会有一个复制文件地址,点一下它你就复制好位置了
复制脚本位置后按win键+X或者右键左下角的开始菜单打开图片这个页面,选择Windows PowerShell (管理员),注意一定要管理员哦!
打开后会弹出一个蓝色背景的控制栏,接下来输入下面的命令
Set-ExecutionPolicy Bypass -Scope Process -Force
& 换成你上面复制文件地址
注意,下面的记得把文字删掉(就删除文字其他不要动)然后改成上面让你复制文件地址的那个哦!,然后再回车(确定/Enter),然后你就会看到如同图片一样的2025-06-07 20:39:11 ======== Watchdog 启动:仅在 Adobe 软件关闭后清理 CC ========了,之后你再打开一开始设置的好的Adobe软件,再关闭然后就会出现清除进程了~(如清除后还有没有清除可联系作者或者回到第一步下面有个进阶版自行优化哦~)
第二步:添加开机+后台监视脚本
脚本没问题后,接下来就是需要它一直在后台监视了,不可能每次都打开一遍这个脚本了,这样就失去这个脚本的本意了。其实这个更加简单,首先需要下载我制作好的脚本
为了防止他人贩卖(至少让他们不这么轻松),这边使用城通网盘(不超过2MB下载都不需要一分钟)
下载好并且解压后你会得到一个txt文件,这个时候你或许会疑惑,为什么是txt而不是一开始的ps1,因为这个脚本是把这个命令复制粘贴到PowerShell的,不过还是需要更改一个地方,也就是图片这个地方,这个路径要换成你脚本的路径
还记得我们说过如何复制文件地址吗?
按Ctrl+S或左上角的文件——保存然后退出,以防万一这边进行手动测试。首先要知道你创建脚本的位置,只需要按住shift键,注意是按住shift键不是按一下哦,然后右键你创建脚本,这个时候就会有一个复制文件地址,点一下它你就复制好位置了
复制好后添加到上面的那个路径(注意是在那个标点符号'的中间'粘贴掉,并且不能删除标点符号),因为这种复制文件地址会有两个"",所以记得删除掉那两个""哦!,然后Ctrl+A/上面的编辑—全选。然后老样子
按win键+X或者右键左下角的开始菜单打开图片这个页面,选择Windows PowerShell (管理员),注意一定要管理员哦!
打开后只需要右键如果没有红色的错误像下方GIF一样那就OK了!
接下来只需要最后一步,检查一下是否已经添加到后台监视。左键点击一下左下角的开始菜单,然后下滑(或字母W跳转)找到Windows 管理工具文件夹,打开并点击任务计划程序,如果打开有看到名为AdobeWatchdog并且是正在运行那就说明,嘻嘻,OK啦~大结局了,已经搞定了呢
BUG反馈与视频教程
BUG反馈
脚本内置了如果出现问题会自动生成log日志,路径是C:\Users\用户名(每个人不同)Documents,有个AdobeWatchdog_Log就是了,你可以将日志测试在评价方式发送(最好是私密哦)或者是其他方式等等反馈
视频教程
嗯.......看人数吧,太多人看的话做个视频没有意义呢(偷懒..................)