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

如何在PowerShell中创建基于文件夹大小与文件数的循环适配Intune部署

Intune + PowerShell 解决Autodesk安装包下载检测问题

问题背景

通过Intune部署PowerShell脚本,执行Autodesk官网的Revit 2023下载程序,需下载总计15.2GB、共7932个文件到路径C:\Autodesk\{E658F785-6D4D-4B7F-9BEB-C33C8E0027FA}。下载完成后需创建标记文件告知Intune,供后续脚本清理安装文件。

当前遇到的问题:

  • 原脚本使用Start-Process的-Wait参数时,会导致Intune挂起,必须重启Windows才能恢复
  • 去掉-Wait参数后,脚本会提前执行后续步骤,Intune误判下载完成,导致后续安装流程失败

解决方案

修改脚本,启动下载进程后不等待,改为循环检测目标文件夹的文件数量和总大小,当同时满足两个阈值条件时,再创建完成标记文件。

修改后的PowerShell脚本

# 启动下载进程,不等待进程结束
Start-Process -NoNewWindow -FilePath "\\arch-syd-fs\EM Setup\Autodesk Recap Custom Install 2023\Source 1 Download\Revit_2023.exe" -ArgumentList "--quiet"

# 定义目标文件夹路径
$targetFolder = "C:\Autodesk\{E658F785-6D4D-4B7F-9BEB-C33C8E0027FA}"
# 设定检测阈值:文件数7932,大小15.2GB(转换为字节:15.2 * 1024^3 ≈ 16329646080)
$targetFileCount = 7932
$targetSizeBytes = 15.2 * 1024 * 1024 * 1024

# 循环检测文件夹状态
do {
    # 等待30秒后再检测,避免资源占用过高
    Start-Sleep -Seconds 30

    # 获取文件夹内所有文件(包含子文件夹)
    $files = Get-ChildItem -Path $targetFolder -File -Recurse -ErrorAction SilentlyContinue
    # 计算当前文件数和总大小
    $currentFileCount = if ($files) { $files.Count } else { 0 }
    $currentSizeBytes = if ($files) { ($files | Measure-Object -Property Length -Sum).Sum } else { 0 }

    # 输出当前检测状态(可选,用于调试)
    Write-Host "当前文件数:$currentFileCount,当前大小:$([math]::Round($currentSizeBytes/1GB,2))GB"
} while ($currentFileCount -ne $targetFileCount -or $currentSizeBytes -lt $targetSizeBytes)

# 满足条件后创建标记文件
$tempDir = "C:\Temp\Revit 2023"
if (-not (Test-Path -Path $tempDir)) {
    New-Item -Path $tempDir -ItemType Directory -Force | Out-Null
}
New-Item -Path "$tempDir\Download Done.txt" -ItemType File -Force | Out-Null

脚本说明

  1. 启动下载进程:去掉-Wait参数,避免Intune挂起,让下载进程在后台运行
  2. 循环检测逻辑:
    • 每30秒检测一次目标文件夹,可根据实际情况调整等待时长
    • 捕获文件夹内所有文件(含子文件夹),统计数量和总大小
    • 当文件数等于7932且总大小达到15.2GB时,退出循环
  3. 创建标记文件:确保目标目录存在后,生成完成标记文件,告知Intune下载已完成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 16:13:36