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

使用Remove-Item批量删除Windows更新缓存文件异常,但单个文件删除正常的问题求助

Remove-Item批量删除Windows更新缓存文件异常,但单个文件删除正常的问题求助

我现在要写一个PowerShell脚本,给一批远程机器(通过PSSession连接)停止Windows更新服务,同时清理C:\Windows\SoftwareDistribution\下的更新缓存。逻辑看起来很简单,但卡在删除缓存目录里的文件和文件夹这一步了。

先给大家看看我脚本里针对单台机器的核心代码:

foreach ($machine in $csv) {
    try {
        # 建立远程会话
        $session = New-PSSession -ComputerName $machine.Name -ErrorAction Stop
        
        # 停止Windows更新服务
        Invoke-Command -Session $session -ScriptBlock {Stop-Service -Name 'wuauserv' -Force}
        
        # 删除更新缓存文件夹内容
        Invoke-Command -Session $session -ScriptBlock {
            Start-Sleep -Seconds 1
            # 最初尝试的写法,报错路径找不到或目录非空
            # Remove-Item -Path 'C:\Windows\SoftwareDistribution\' -Recurse -Force
            # 后来换成这种写法,但出现权限拒绝错误
            Get-ChildItem -Path 'C:\Windows\SoftwareDistribution\' -Recurse -Force | Remove-Item -Recurse -Force
        }
        
        # 重启Windows更新服务
        Invoke-Command -Session $session -ScriptBlock {
            Start-Sleep -Seconds 1
            Start-Service -Name 'wuauserv'
        }
        
        # 计划晚上9点重启机器
        Invoke-Command -Session $session -ScriptBlock{
            [datetime]$restartTime = '9PM'
            [datetime]$currentTime = Get-Date
            [int]$restartDelay = ($restartTime - $currentTime).TotalSeconds
            shutdown -r -t $restartDelay
        }
        
        Remove-PSSession $session
        $outcome = 'Completed'
    }
    # 此处省略异常处理代码
}

遇到的具体问题:

  • 一开始用Remove-Item -Path 'C:\Windows\SoftwareDistribution\' -Recurse -Force批量删除,总是报错说路径找不到或者目录不为空;查资料后换成Get-ChildItem遍历再删除的写法,结果又碰到权限拒绝的错误。
  • 我试过调整写法为Get-ChildItem -Path 'C:\Windows\SoftwareDistribution\' -Recurse | foreach { Remove-Item $_.FullName -Recurse -Force },还是出现同样的权限问题。
  • 我是所有目标机器的本地管理员,权限完全足够:不管是在文件资源管理器里手动删除,还是用Remove-Item单个删除文件/文件夹都没问题,但一批量递归删除就触发权限拒绝报错。
  • 我特意在本地机器上测试了这段删除逻辑,排除了PSSession远程连接的影响,结果还是一样的错误。
  • 怀疑过是文件被进程锁定,但实际检查后发现没有锁定情况——毕竟单个删除操作都能成功。

折腾好一阵了还是没找到解决办法,有没有大佬能给点思路?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 09:29:33