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

如何使用PowerShell统计虚拟桌面数量并删除超出2个的多余桌面

PowerShell虚拟桌面清理脚本修改方案

首先给修改完成可直接运行的脚本:

# 循环查询当前桌面数量,直到数量等于2时停止
do {
    $currentDesktopCount = Get-DesktopCount
    # 数量大于2时才执行删除
    if ($currentDesktopCount -gt 2) {
        Remove-Desktop -Desktop "Desktop 2"
    }
} while ($currentDesktopCount -gt 2)

你原来的脚本主要有3个核心错误:

  • 变量只初始化了一次:$DTC = Get-DesktopCount 只在脚本最开始执行了一次,循环过程中桌面数量变化后不会自动更新,判断条件永远用的是初始值
  • 循环逻辑完全写反:Until 的含义是「直到指定条件成立就退出循环」,你原来写的Until (($DTC) -gt '2') 意思就是只要桌面数量大于2就直接停止循环,和你要的「大于2就删到等于2为止」逻辑完全相反
  • 类型混用:你把数字2加了引号变成字符串类型,虽然PowerShell支持隐式类型转换,但涉及数值比较时直接写数值不需要加引号,避免出现非预期的匹配问题

补充优化点:如果你的虚拟桌面删除后序号不会自动重排,可以把删除逻辑改成Remove-Desktop -Desktop ($currentDesktopCount - 1) 直接删最后一个桌面,适配性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:36:06