Here is an old one that we used long time ago. You can see the code is a little out of date, esp. the "loop" command.
But this should give you the basics. When we ran this, the only thing the user ever got asked for was their "domain" logon ID.
code:
; checking registry - if already disabled,
; skips to next section
? "Checking registry, if password caching already disabled skipping to the next section"
$Index = 0
:LOOP1
$Cache = ENUMVALUE("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network", $Index)
IF @ERROR = 0
IF $Cache = DisablePwdCaching
? "Password Caching already disabled, skipping to next section"
GOTO ENDCACHE
ENDIF
$Index = $Index + 1
GOTO LOOP1
ENDIF
; password caching being disabled
? "Password Caching being disabled"
EXISTKEY("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\NETWORK")
IF @ERROR = 0
GOTO NOPWD
ENDIF
EXISTKEY("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES")
If @ERROR = 0
GOTO NETWORK
ENDIF
ADDKEY("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES")
:NETWORK
ADDKEY("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\NETWORK")
:NOPWD
WRITEVALUE("HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\NETWORK", "DisablePwdCaching","1","REG_SZ")
IF @ERROR = 0
? "Password Caching DISABLED"
ENDIF
:ENDCACHE
Hope this helps the way you wanted...