Intune Win32 应用批处理脚本安装无法以用户身份运行

Intune Win32 应用批处理脚本安装无法以用户身份运行

TL:DR 当尝试通过 intune Win32 应用程序安装和运行 .bat 脚本文件时,安装行为停留在 SYSTEM 上并显示为灰色,但批处理脚本需要以当前登录用户的身份运行。

最初的问题:我需要从用户笔记本电脑上的桌面上删除 Microsoft Edge 快捷方式,这是一个使用 intune 管理所有笔记本电脑的工作场所

我的解决方案不起作用:我编写了一个批处理脚本来删除桌面上的 Microsoft Edge 快捷方式,它需要以用户身份运行。然后,我通过 Microsoft Win32 内容准备工具打包了该批处理文件,然后在添加新的 Win32 应用程序时将 .intunewin 上传到 intune,但我无法在 intune 上设置安装行为,它变灰并卡在系统上,这不起作用,因为批处理脚本需要以用户身份运行。当以 SYSTEM 身份执行 win32 应用程序安装行为时,批处理脚本会尝试通过 %username% 找到快捷方式,但当它以 SYSTEM 作为安装行为时,%username% 不是当前登录的用户。

注意:打包的唯一文件是.bat 脚本文件,该脚本不使用任何 msi 或其他任何东西。

答案1

迟到总比不到好?

如果您不介意使用 PowerShell(它没有出现在您的标签列表中),您可以这样做:

Get-ChildItem -Path 'C:\Users\*\Desktop\*' -File -Filter '*Edge*.lnk' -ErrorAction SilentlyContinue | Remove-Item

该单行代码获取每个用户桌面目录中与过滤器匹配的所有文件,然后将它们沿着管道发送到 cmdlet Remove-Item。该ErrorAction参数用于抑制需要特殊权限的目录中的“拒绝访问”错误。

剩下的就是从批处理文件中调用 PowerShell。它可能看起来像这样:

powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -Command "Get-ChildItem -Path 'C:\Users\*\Desktop\*' -File -Filter '*Edge*.lnk' -ErrorAction SilentlyContinue | Remove-Item"

希望这可以帮助。

相关内容