Performance of retrieving $ClaimsPrincipal and creating directories for a user

I have succesfully set up authentication with WS-Federation and ADFS. When a user logs on, I can retrieve the claims from the user by reading out the values from the variable $ClaimsPrincipal.Identity.Claims[0].Value[x] where x is an integer for each claim.

Reading out just one claims value takes about 3 seconds, not sure if this is normal…

When a user logs on for the first time, I want to create some directories for them to store files created by endpoints.

Ideally I’d like to store the files on the local computer of the user accessing the dashboard, but I see no way of retrieving the computername that accesses the dashboard. So I’m looking to set up the directories on the server that runs the dashboard (with appropriate permissions)

What is the best way to do this?

Feedback more than welcome, thanks for reading.