我正在使用intune和PowerShell,我基本上想运行一个 exe 文件,该文件从autodesk网站下载15.2GB / 7932个隔离文件,然后创建一个文本文件,以便 intune 知道它已经完成,因为我想稍后使用另一个脚本删除所有安装文件。
问题是PowerShell脚本将在下载完成之前运行并关闭,intune 认为下载完成,下一个脚本尝试安装下载的内容,但未完全下载,因此失败。
我试过放一个wait
命令,但是 intune 会挂起,你必须重新启动windows,这是我不希望用户做的事情。
我想添加一个循环,以便检查以下文件夹的文件大小:
C:\Autodesk\{E658F785-6D4D-4B7F-9BEB-C33C8E0027FA}
一旦达到15. 2 GB/ 7932个文件,它就会转到下一步并创建文本文件。
下面是我当前的PowerShell脚本:
Start-Process -NoNewWindow -FilePath "\\arch-syd-fs\EM Setup\Autodesk Recap Custom Install 2023\Source 1 Download\Revit_2023.exe" -ArgumentList "--quiet' " -Wait
New-Item "C:\Temp\Revit 2023" -Type Directory
New-Item -Path "C:\Temp\Revit 2023\Download Done.txt"
1条答案
按热度按时间avkwfej41#
让我们将其分解为3个问题
原来前两个可以一起做
然后,您可以将其 Package 在do-until循环中(带有延迟以防止消耗所有CPU),使脚本等待,直到这些值达到某个阈值
请注意,
$size
以字节为单位,您可能希望将其设置为-or
条件而不是-and
,具体取决于您希望脚本在满足其中一个条件后返回还是等待两个条件都满足。