should be ExecShell
ExecShell open un.bat
Итак, я просмотрел столько документации, сколько смогу об 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 Script
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, но будет работать должным образом, когда выполняется как пользователь или как система?
should be ExecShell
ExecShell open un.bat
you might have to specify an output directory as well, see SetOutPath
SetOutPath $TEMP File "un.bat" # will be extracted to $TEMP ExecShell open "$TEMP\un.bat"