The example I posted (with the ".\" prefix) works as shown.

Your code has some issues:

1. the $Color = ReadProfileString line should NOT place @USERID in quotes. You should also adjust this so it properly represents what you want, not a direct copy from my example. The other lines also place variables inside of quotes, which is STRONGLY discouraged.

2. The $value = ReadProfileString lines are not correct. You should NOT have an equal sign in the last value! The way you have specified this will return nulls all the time.

3. The second $value = ReadProfileString line doesn't do anything, unless you are using $Value later in the script (and not shown in your example).

You say you want to write a parameter to a file based on the UserID. Try this:
 Code:
Break on
; Get the attribute associated with the current user
$Attrib = ReadProfileString("C:\script\UserAttributes.ini", "USERS", @USERID)

; get the short name.
$short = left(@USERID,8)

; define the local INI file
$inifile = "C:\Windows\Fsp.ini"

; Not sure why you are reading this, as the next line overwrites it - Not needed?
; $value = ReadProfileString($inifile, "UBS", "LastUser")

; Update the local INI file with the user's short name and attribute
$rc = WriteProfileString($inifile, "UBS", "LastUser", $short)
$rc = WriteProfileString($inifile, "UBS", "PCAlias", $Attrib) 
If this is running during logon, then the UserAttributes.ini should be placed in NetLogon so it is available to all users (use ".\UserAttributes.ini").

Glenn
_________________________
Actually I am a Rocket Scientist! \:D