Win9x has the ability to cache passwords including network passwords. They are stored in *.PWL files.

Here some code I previously used. Please review it thoroughly before using it. Also, search TechNet for "DisablePWDCaching". There are ramifications when turning caching off, but we believe the benefits out way the the issues in our environment.
code:
If @inwin=1
;? "This script only runs on Win9x computers."
Return
Endif

Dim $PWkey, $PWstr, $ReturnCode, $PWval, $RC, $outfile, $ComputerName

$ComputerName=ReadValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName")
$outfile="\\ServerName\log$\PWL\$ComputerName.txt"
$RC=WriteProfileString($outfile,"Local","User","@UserID")

$PWkey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network"
$PWstr = "DisablePwdCaching"

$ReturnCode = ExistKey($PWkey)
If $ReturnCode = 0
Gosub "DisableCache"
Else
$ReturnCode = AddKey($PWkey)
If $ReturnCode = 0
Gosub "DisableCache"
Else
$RC=WriteProfileString($outfile,"Local","Action","Error:$ReturnCode adding registry key :$PWkey")
Endif
RC=WriteProfileString($outfile,"Local","Action","Key does not exist")
Endif
Return

:DisableCache
$PWval=ReadValue($PWkey,$PWstr)
If @ERROR = 0
If $PWval <> 1
$RC=WriteValue($PWKey,$PWstr,1,"REG_DWORD")
If $RC = 0
del "%windir%\*.pwl"
$RC=WriteProfileString($outfile,"Local","Action","Disabled PW Caching")
Else
$RC=WriteProfileString($outfile,"Local","Action","Error Writing Key: @ERROR")
Endif
$RC=WriteProfileString($outfile,"Local","Action","PW Caching Enabled")
Else
$RC=WriteProfileString($outfile,"Local","Action","PW Caching Already Disabled")
Endif
Else
$RC=WriteProfileString($outfile,"Local","Action","Error reading Key: @ERROR")
Endif
Return



[ 08. August 2002, 16:48: Message edited by: Howard Bullock ]
_________________________
Home page: http://www.kixhelp.com/hb/