I wonder if 'firstname' is the correct property. Try 'givenname' instead...

code:
$objUser.Put ("givenName", "Fred")

Reference: Change User Account Attributes