sollte ExecShell sein
ExecShell open un.bat
Ich habe also so viel Dokumentation wie möglich zu InTune und NSIS durchgesehen, und ich kann das nicht verstehen.
Ich habe ein unbeaufsichtigtes NSIS-Installationsprogramm, das (wenn es lokal ausgeführt wird, sogar als System über Psexec), ohne Probleme ausgeführt wird, aber bei der Bereitstellung mit InTune-Software nichts zu tun scheint. Das Installationsprogramm ruft eine Batchdatei auf, in der ein vbscript ausgeführt wird, um alle Benutzer eines Systems aufzulisten, und ändert dann alle Kennwörter: Siehe Quelle für alle oben genannten.
NSIS-Installationsprogramm
Name "Silent" OutFile "silent.exe" RequestExecutionLevel admin Function .onInit SetSilent silent FunctionEnd Section "" File FindUsers.vbs File un.bat Exec un.bat SectionEnd
VBS-Skript
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
Und zum Schluss noch die Batchdatei:
@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%" )
Warum wird dies nicht ordnungsgemäß ausgeführt, wenn es mit intune bereitgestellt wird, aber ordnungsgemäß ausgeführt wird, wenn es als Benutzer oder als System ausgeführt wird?
sollte ExecShell sein
ExecShell open un.bat
Sie müssen möglicherweise auch ein Ausgabeverzeichnis angeben, siehe SetOutPath
SetOutPath $TEMP File "un.bat" # will be extracted to $TEMP ExecShell open "$TEMP\un.bat"