NSIS 安装程序无法与 InTune 配合使用

NSIS 安装程序无法与 InTune 配合使用

因此,我查看了尽可能多的有关 InTune 和 NSIS 的文档,但似乎仍无法弄清楚这一点。

我有一个 NSIS 静默安装程序(在本地执行时,甚至通过 psexec 作为系统执行时)完全没有问题,但在使用 InTune 进行软件部署时似乎什么都不做。安装程序调用一个批处理文件,该文件运行 vbscript 来枚举系统上的所有用户,然后更改所有用户的密码:有关上述所有内容的来源,请参见下文。

NSIS 安装程序

Name "Silent"
OutFile "silent.exe"
RequestExecutionLevel admin

Function .onInit
SetSilent silent
FunctionEnd

Section ""
    File FindUsers.vbs
        File un.bat
    Exec un.bat
SectionEnd

VBS 脚本

Set exclude = CreateObject("Scripting.Dictionary")
exclude.CompareMode = vbTextCompare
exclude.Add "HomeGroupUser$", True
exclude.Add "Guest", True

Set accounts = GetObject("WinNT://.")
accounts.Filter = Array("user")
For Each user In accounts
  If Not exclude.Exists(user.Name) Then WScript.Echo user.Name
Next

最后是批处理文件:

@echo off
setlocal
set newpw=Test
for /f "delims=" %%u in ('cscript //NoLogo FindUsers.vbs') do (
  echo "net user "%%u" "%newpw%""
  net user "%%u" "%newpw%"
)

为什么使用 intune 部署时无法正常运行,但以用户或系统身份执行时可以正常运行?

答案1

应该执行外壳

ExecShell open un.bat

答案2

您可能还必须指定输出目录,请参阅设置输出路径

SetOutPath $TEMP
File "un.bat" # will be extracted to $TEMP
ExecShell open "$TEMP\un.bat"

相关内容