SCCM2012 应用程序安装报告成功但内容未到达

SCCM2012 应用程序安装报告成功但内容未到达

我正在尝试将自定义背景部署到 %windir%\system32\oobe\info\background\backgroundDefault.jpg 中,并在应用程序和包中创建了 bat、ps1 文件以尝试交付文件,但是当通过 CM 运行时,文件和文件夹未创建,并且报告成功。即使背景文件夹不存在,检测方法仍会显示它存在。

对于应用程序部署方法,我尝试在文件和文件夹上进行文件系统路径检测。我还尝试使用自定义 powershell 脚本进行检测。在这两种情况下,安装都记录成功,但文件没有传输。

基于软件包的安装也做了同样的事情,没有任何错误。我非常困惑,搜索引擎也帮不上忙。当我使用管理员权限手动运行脚本时,该过程可以正常工作。但 SCCM 以系统身份运行(不在用户上下文中),它会重复相同的答案。

有人见过这个吗?我被难住了。这是基本的 bat 和 ps1 脚本,自定义检测方法只是在结束文件上运行 PowerShell Test-Path 命令。

蝙蝠

mkdir c:\windows\system32\oobe\info\backgrounds
xcopy .\backgroundDefault.jpg c:\windows\system32\oobe\info\backgrounds\ /y 

PS1

If ((Test-Path "C:\Windows\System32\oobe\info\backgrounds") -eq $False) {New-Item "C:\Windows\System32\oobe\info\backgrounds" -type directory}
If ((Test-Path "C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg") -eq $False) { Copy-Item ".\backgroundDefault.jpg" "C:\Windows\System32\oobe\info\backgrounds" } 

答案1

我会为此使用组策略,并使用项目级定位来命中您想要使用的机器。我希望能够在 SCCM 中做到这一点,但有时其他工具做得更好。

话虽如此,我过去曾通过使用执行以下操作的 powershell 脚本获得成功:

1)设置允许使用不同背景的注册表项 2)复制背景并将其与脚本放在一起 3)将它们包装在以提升的权限运行的自解压可执行文件中

sfx 解压并运行提升的脚本,设置注册表项和覆写现有的项目,而您的脚本似乎没有这样做。因此,您的 powershell 脚本可能会挂断在一个不可见的提示上,询问您是否要覆盖现有文件,或者根本没有运行该命令,因为文件存在并且 Test-Path 返回的是 $true 而不是 $false。

相关内容