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

PowerShell远程清理临时文件脚本异常:误访问本地D盘问题求助

问题原因

Enter-PSSession是交互式远程会话命令,在脚本中直接调用后,后续代码并不会自动切换到远程会话执行,而是依旧在本地主机运行,所以你的脚本会尝试访问本地D盘。

解决方法

推荐使用Invoke-Command替代Enter-PSSession,它可以直接将指定脚本块发送到远程机器执行,是脚本化远程操作的标准方式。

修正后的脚本

$computer = Read-Host -Prompt "Input the machine name"

# 定义要在远程机器执行的清理逻辑
$remoteCleanup = {
    $tempfolders = @(
        "D:\Users\*\AppData\Local\Temp\*",
        "D:\Users\*\Downloads\*",
        "D:\Users\*\AppData\Local\Webex\wbxcache\*",
        "D:\Users\*\AppData\Local\CrashDumps\*"
    )
    # 添加ErrorAction避免因无权限/文件占用导致脚本中断
    Remove-Item $tempfolders -Force -Recurse -ErrorAction SilentlyContinue
}

# 触发远程执行
Invoke-Command -ComputerName $computer -ScriptBlock $remoteCleanup

注意事项

  • 目标远程机器需提前开启WinRM服务(可在远程机器上执行Enable-PSRemoting -Force启用,需管理员权限)
  • 执行脚本的用户必须拥有远程机器的管理员权限,才能操作用户目录下的文件
  • 如果需要排查执行情况,可以去掉-ErrorAction SilentlyContinue,查看具体报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:07:06