Adding some properties to an Active Directory user I was writing the below section of code which adds some user properties to an Active Directory user, and got wondering - surely we can improve the readability of this : 

var firstname = newUser.FirstName;
var lastname = newUser.LastName;
var email = firstname + lastname + "@mydomain.com";
var dotname = $"{firstname}.{lastname}";
var fullname = $"{ firstname} { lastname}";

// Create the new user
var user = myLdapConnection.Children.Add($"CN={firstname} {lastname}", "user");
// Add properties
user.Properties["userprincipalname"].Add(email);
user.Properties["samaccountname"].Add(dotname);
user.Properties["sn"].Add(lastname); 
user.Properties["givenname"].Add(firstname);
user.Properties["displayname"].Add(fullname);
user.Properties["description"].Add(newUser.JobTitle);
user.Properties["mail"].Add(email); 
user.Properties["homedirectory"].Add($@"\\File\Home$\{dotname}");
user.Properties["homedrive"].Add("H:");
user.CommitChanges();


So I added some tabs after my property-name calls like so : 

// Add properties
user.Properties["userprincipalname"].Add(email);
user.Properties["samaccountname"]   .Add(dotname);
user.Properties["sn"]               .Add(lastname); 
user.Properties["givenname"]        .Add(firstname);
user.Properties["displayname"]      .Add(fullname);
user.Properties["description"]      .Add(newUser.JobTitle);
user.Properties["mail"]             .Add(email); 
user.Properties["homedirectory"]    .Add($@"\\File\Home$\{dotname}");
user.Properties["homedrive"]        .Add("H:");
user.CommitChanges();


Now I think that makes the code a lot more readable, but I have not seen many people take this approach when formatting. Is there any reason for this? I generally do this in both PowerShell and C#, but are there any languages where this is not acceptable for reasons other than the code wont run?
Disclaimer: I never wrote code like that, I do not see a reason to do it and I discourage everyone to do it.
This however may be seen as nothing else aside of a preference.

But what are you trying to achieve? 

Prefectionism?

I do not associate myself with perfectionism, and even if I did as I stated, I doubt I would include
this on the things I must do to keep the code 'perfect'.
Being perfectionist does not mean that you are egocentric. If you are not a egocentric perfectionist
you may relize that the set of rules that you would like to apply doesn't need to be the same set of rules
of another perfectionist.

Maintanability?

How is that code more maintanable than the other without spaces/tabs? 
It is less maintanable because I have to spend more time adjusting the identation when adding a new property

Readability?

If we are aiming readability maybe we have another options, for example:

user.Properties["userprincipalname"].Add(email);
user.Properties["givenname"        ].Add(firstname);


This is a formatting issue, and all formating issues should/must be automatically 
verified by a static analyzer like resharper, or rubberduck-vba, or wathever.
Most of them allow you to configure all settings once and share among all developers so the code
is written always with the same formatting.

TLDR

In the end you must confess that what you really want to write is the following:

user.Email = email;
user.FirstName = newUser.FirstName;


And you can. I'll list the steps needed to do it:


Create a class with a constructor that recieves the ldap user
Foreach property setter write to the respective ldap property Name
Foreach property getter get the value from the respective ldap property Name