CHunky Universe of Vigourous Astonishing SHarepoint :)

Tag Archives: user

Access User Profile Properties from Powershell

To use only SPUser objects isn’t always sufficient. To get other properties we have to retrieve user profiles. Giles Hamson gives an example how to get and how to update user profile properties with powershell.

Here is an example how to get all work phones:

$url = "http://intranet/"
$site = Get-SPSite $url
$context = Get-SPServiceContext $site
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
$profiles = $profileManager.GetEnumerator()

while ($profiles.MoveNext()) {
  $userProfile = $profiles.Current
  $name = $userProfile.DisplayName
  $phone = $userProfile["WorkPhone"]
  $line = '{0};{1}' -f $name, $phone
  write $line

If you are not sure what properties are called, see the whole list by typing:

$userProfile.Properties | select name

Get current user and handle a success callback

In my previous post I needed the accound id of the current user for posting new list items. To retrieve the id, we can push this to the client from the code behind, or get the current user using Client Object Model.

To provide a more generic way we can write a js function which get the current user. But we must even provide some callback functionality, otherwise we don’t know if the operation was successful or not. Let’s be inspired by success and error properties in $.ajax:

function retrieveCurrentUser(success, error) {
    ExecuteOrDelayUntilScriptLoaded(function () {
        var ctx = new SP.ClientContext.get_current();
        var web = ctx.get_web();
        var user = web.get_currentUser();
        ctx.executeQueryAsync(function () {
        }, function (data) {
    }, "SP.js");

Then success function can receive the user account like:

function doSomething(user) {
   console.log("user name: " + user.get_loginName());
function errorCallback(data) {
   console.log("hmpf, didn't work, why?");
retrieveCurrentUser(doSomething, errorCallback);

If you just need current user id, as I needed, there is actually a better way. I saw a solution for another problem in sharepoint.stackexhange and found this:

var userid = _spPageContextInfo.userId;

More background information about _spPageContextInfo can be found on Ted Pattison’s blog. The userId of ther current user can be got through:

 var userid = _spUserId;

Hide my site link with css

Want to hide my site link without disabling social features.
my site link

Well, the simplest way to do it is to use css:

#mp1_0_0_Anchor { display: none; }

If you want to hide my profile instead, just hide #mp1_0_1_Anchor:

#mp1_0_1_Anchor {
    display: none;

As John and Vishal mentioned, it doesn’t work, because these IDs are generated dynamically. If you have to hide this link, you must use attribute selectors like:

.ms-MenuUIUL li[text='My Site'] { display: none;}
Disable the my profile feature
An even better solution is maybe to disable the ability to change the profiles. Just remove the permission to “user personalization…” for All authenticated users in User Profile Service.

Daniel Chronlund Cloud Tech Blog

News, tips and thoughts for Microsoft cloud fans

Вула Чăвашла

VulaCV - Чăвашла вулаттаракан сайт

Discovering SharePoint

And going crazy doing it

Bram de Jager - Architect, Speaker, Author

Microsoft 365, SharePoint and Azure

SharePoint Dragons

Nikander & Margriet on SharePoint

Mai Omar Desouki

PFE @ Microsoft

Cameron Dwyer

Office 365, SharePoint, Azure, OnePlace Solutions & Life's Other Little Wonders


Me and My doings!

Share SharePoint Points !

By Mohit Vashishtha

Jimmy Janlén "Den Scrummande Konsulten"

Erfarenheter, synpunkter och raljerande om Scrum från Jimmy Janlén

Aryan Nava

DevOps, Cloud and Blockchain Consultant


SharePoint for everyone


Ryan Dennis is a SharePoint Solution Architect with a passion for SharePoint and PowerShell

SharePoint 2020

The Vision for a Future of Clarity

Aharoni in Unicode

Treacle tarts for great justice

... And All That JS

JavaScript, Web Apps and SharePoint


Mostly what I know and share about...