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. [Smile] 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...