非混合设备通过Intune定时/关闭Edge时清除缓存Cookie方案求助
方案一:改进脚本+Win32应用+本地计划任务
针对原脚本无法关闭Edge的问题,先优化脚本强制终止Edge进程(含后台进程)再执行清理,再通过Intune部署Win32应用并创建本地定时任务实现每日执行。
1. 优化清理脚本(ClearEdgeCache.ps1)
# 检测是否有用户正在使用Edge(避免强制关闭导致数据丢失) $edgeUserProcesses = Get-Process msedge -IncludeUserName -ErrorAction SilentlyContinue | Where-Object { $_.UserName -notlike "*SYSTEM*" } if ($edgeUserProcesses) { Write-Output "Edge正被用户使用,跳过本次清理" exit 0 } # 关闭所有Edge相关系统进程 Get-Process msedge -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue Start-Sleep -Seconds 3 # 等待进程完全终止 # 定义缓存与Cookie路径 $cachePath = "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cache" $cookiePaths = @( "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cookies", "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cookies-journal" ) # 执行清理 Remove-Item -Path $cachePath -Recurse -Force -ErrorAction SilentlyContinue foreach ($path in $cookiePaths) { Remove-Item -Path $path -Force -ErrorAction SilentlyContinue }
2. 打包为Win32应用
使用IntuneWinAppUtil工具将脚本打包为Win32应用包,安装命令设置为:
powershell.exe -ExecutionPolicy Bypass -File ClearEdgeCache.ps1
3. 部署定时任务
创建用于生成本地定时任务的PowerShell脚本(CreateEdgeCleanupTask.ps1),通过Intune设备脚本功能部署:
$taskName = "每日Edge缓存清理" $scriptPath = "C:\Program Files\EdgeCleanup\ClearEdgeCache.ps1" # 对应Win32应用安装目录 $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -File $scriptPath" $trigger = New-ScheduledTaskTrigger -Daily -At 02:00 # 设置每日凌晨2点执行 $principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Principal $principal -Settings $settings -Force
方案二:利用Edge内置组策略(Intune导入ADMX)
无需脚本,通过Intune导入Edge ADMX模板配置关闭浏览器时自动清理数据:
- 下载Microsoft Edge ADMX模板,导入到Intune的设备配置 > ADMX模板 > 添加
- 创建新配置文件,选择
Microsoft Edge,启用以下策略:在关闭浏览器时清除浏览数据- 勾选要清除的类型:
缓存的图像和文件、Cookie和其他网站数据
- 将配置文件分配给目标设备组,设备同步后,每次关闭Edge会自动执行清理。
方案三:Intune Proactive Remediations(主动修正)
利用Intune主动修正功能实现每日检测+按需清理:
- 在Endpoint Analytics > Proactive Remediations中创建脚本包
- 检测脚本:判断缓存是否存在,需要清理则返回退出码1
$cachePath = "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cache" if (Test-Path $cachePath) { $fileCount = (Get-ChildItem $cachePath -Recurse | Measure-Object).Count if ($fileCount -gt 0) { Write-Output "缓存存在,需要清理" exit 1 } } exit 0
- 修复脚本:使用方案一中的优化清理脚本
- 设置执行频率为每日,分配给目标设备组,系统会自动定期检测并执行清理
注意事项
- 强制关闭Edge会导致用户未保存内容丢失,建议将定时任务设置在非工作时段,或保留脚本中的用户进程检测逻辑
- Win32应用部署时需确保脚本安装路径与定时任务脚本中的路径一致
- 组策略方案仅支持“关闭浏览器时清理”,若需每日固定时间清理,需配合方案一的定时任务
内容的提问来源于stack exchange,提问作者Eggeto
相关产品推荐
相关产品推荐

