You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FSRM过期文件清理脚本故障及误删问题求助

FSRM过期数据清理脚本问题排查与修复

初始脚本无法运行的原因

初始脚本存在语法错误:

  • 多个变量定义写在同一行却未用分号;分隔,PowerShell无法正确解析指令
  • 部分环境对where name -like这类简化语法兼容性不佳

修改后脚本删除数据超预期的原因

修改后的脚本里Where-Object用法完全错误:
正确的Where-Object需要用脚本块{}包裹过滤条件,且必须引用对象属性$_.Name。你的写法相当于未添加任何过滤规则,Get-ChildItem返回的所有文件夹都会被删除,自然超出预期范围。

正确的按天数清理脚本示例

# 计算6天前的日期,格式化为YYYY-MM-DD
$Date = (Get-Date).AddDays(-6).ToString("yyyy-MM-dd")
# 获取符合命名规则的目标文件夹
$ExpiredDirectory = Get-ChildItem "D:\FSRMExpire\XServer" | 
    Where-Object { $_.Name -like "Expire Stale Data_$Date*" }
# 先加-WhatIf验证要删除的内容,确认无误后再移除该参数
$ExpiredDirectory | Remove-Item -Recurse -WhatIf

按月份清理的修正版本

如果需要回到按6个月前的月份清理,使用以下脚本:

# 计算6个月前的月份,格式化为YYYY-MM
$Date = (Get-Date).AddMonths(-6).ToString("yyyy-MM")
$ExpiredDirectory = Get-ChildItem "C:\Expired Files\FQDN of Server" | 
    Where-Object { $_.Name -like "Expire Stale Data_$Date*" }
$ExpiredDirectory | Remove-Item -Recurse -WhatIf

关键注意事项

  • 始终先用-WhatIf参数验证删除范围,避免误删重要数据
  • 确保文件夹命名规则与脚本中的匹配字符串完全一致(比如前缀、下划线等细节)
  • 运行脚本的账号需具备目标文件夹的删除权限

内容的提问来源于stack exchange,提问作者jjtechtech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:27:24