Итак, я просмотрел столько документации, сколько смогу об 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, но будет работать должным образом, когда выполняется как пользователь или как система?

2 ответа2

1

вам также может потребоваться указать выходной каталог, см. SetOutPath

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

должен быть ExecShell

ExecShell open un.bat

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .