Howard Bullock
KiX Supporter
   
Registered: 2000-09-15
Posts: 5809
Loc: Harrisburg, PA USA
|
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 ]
|