Unfortunately the interpreter cannot work with operators in properties or any other type of unprotected string including things like file paths.

The work-around (if the object supports it) is to reference the property through a collection as a proper string, something like:
 Code:
$User.fields("uwh-department1").Value = $value

or
 Code:
$User.properties("uwh-department1").Value = $value


Obviously the "fields"/"properties" depends on the object definition.