Run Internet Explorer (IE) as a different user to test

It’s often helpful in our on-prem environment to be able to run IE as a test user with general permissions instead of my admin permissions. This possibility makes it so I don’t need to remote to another machine or log out and in with another account just for a simple check.

Using Google Chrome? Here’s how to do the same with that.

If you have a shortcut to IE on your desktop (not your task bar), skip ahead to step two.

  1. Search “IE” from the start menu, right click and select “Open File Location”

2. Hold “Shift” on your keyboard and right-click the Internet Explorer icon. Select “run as different user”

3. Enter the credentials for the second user (your screen/prompt may look different) and click OK/Login. In some cases, you may be prompted to enter these more than once.

IE will now run as if the other user is logged in.

You can also use the “Check permissions” feature in SharePoint to see which groups a user belongs to for a site or resource, and which abilities/privileges they have.

Check permissions for an individual or group in SharePoint

If you want to see which groups a user belongs to, or how an individual is granted (or restricted) access to a particular site or resource, use the “Check permissions” button in Site Settings –> Site Permissions (or any advanced permissions page).

SharePoint 2016 example of checking permissions
SharePoint Online example of checking permissions (see specific allowances)

Have you been pwned? Here’s how to update your Microsoft password(s) and upgrade your security

The word ‘pwned’ (pronouned pōn’d) was more present in written works around 1800, likely because of typos due to the proximity of “p” to “o” on keyboards. We know it in a modern context as an actual term, reclaimed by video game communities to mean utterly defeating an opponent (Dude, you got pwned!) or in cyber-security conversations meaning an unwelcome party gained ownership of your credentials through a data breach or hack.

The appearance of ‘pwned’ in written works from 1800-2008. Source: Google Books Ngram Viewer

With data breaches and hacker activity being more prevalent, it’s more important than ever to protect yourself and your information from being pwned.

Have I been pwned?

There are several free ways to find out if you’ve been included in a data breach or credential publishing.

  • HaveIBeenPwned.com lets you enter your email address to see which breaches you were discovered in (if any)
  • CreditKarma.com has identity monitoring for the email address you used to register. It’s a free service, and will tell you if you email address surfaced in any breaches or credential leaks and any associated passwords. Go to Resources –> Identity Monitoring
  • LastPass.com’s Security Score will show you specifically which sites have been compromised so that you can change those specific passwords. It’ll also help you fix the “duplicate password” issue where you use the same password for everything AKA one data breach gives bad actors access to all your stuff.

What’s a secure password?

UseAPassPhrase.com demonstrates that pass phrases (not passwords) are significantly more secure than traditional abc123! type passwords. The site will tell you how long it would take hackers to figure out (crack) your password using bots.

  • The typical password requirements you’ll find might have you make a password like ‘sPlib197!’ which will only take 149 days to crack.
  • While phrases are generally more secure, you have to be careful to select a phrase that is NOT logical in structure. For example, a logical sentence like ‘I love kitties!’ would take 18 days to crack. But illogical collections of words like ‘stopping plots argument received’ would take 467,000 centuries to crack. Throw in a capital letter and a special character and you’re set for a few lifetimes.

How to update your Microsoft passwords

Personal accounts

1. Log in at account.microsoft.com

2. Click on Security

3. Click Change Password and follow prompts

Work or school accounts

Note: Your organization may have a different method for updating your password. This is the general, out-of-the-box update method:

1. Go to portal.office.com/account/

2. Click on “Security & Privacy” then “Password”

3. Follow prompts

Upgrade your security (enable two-factor authentication)

Two-step, or multi-factor, authentication helps guarantee it’s actually you logging into one of your sites. You’ll find this security option on all kinds of services including Google (gmail), Microsoft (outlook), and your banking sites. I highly recommend setting this up on every site you’re able to.

What is it? Basically, when you attempt to login using your credentials as usual (or someone who stole your data is attempting to log in as you), you’ll either use the Microsoft Authenticator App to approve a login from your mobile device or you’ll receive a text code to enter into a prompt to show that not only do you know your credentials, but you acknowledged the login from a phone number or mobile device you registered.

Personal accounts

1. Log in at account.live.com/proofs/manage/additional

2. Select “Set up two-step verification” (learn more about two-step verification)

3. Follow the prompts to device’s number as an additional layer of security

4. Return to the same URL in step 1 and click “Set up identity verification app” which will have you install the Microsoft authenticator app on your phone. When someone attempts to log in using your credentials, you’ll get a push notification to approve or reject the attempt before they’re allowed access. (learn more about using the authenticator app)

5. Follow the prompts to install and activate the app

Work or school accounts

You administrator handles the setup of multi-factor authentication. This article does a great job of explaining how to enable it for your users.

Add a “project health” stoplight status indicator to your classic sites

Note: Demo/Screenshots from a SharePoint 2016 environment.

With a little bit of work, you can have a stoplight status indicator on your project’s or team’s home page. You’ll need:

  1. A classic view site (Project or SharePoint) on which you’ll be placing the project health status indicator
  2. A CSS file in your site assets
  3. A list named “Project Health” to manage the statuses
  4. A web part for “Project Health” placed where you want it to display indicators

Note: If you have O365 or SharePoint 2019’s modern experience, explore conditional formatting with JSON instead.

Add the CSS file to your site assets

Save the first script below as stoplight.css and add to your site assets folder. You’ll need the second OR third snippet in the next section (depending on if you want to use dots or images/icons).

Create the Project Health list

Create a new list on your site and name it Project Health. You’ll need these columns:

All of the choice columns (KPI in name) will be dropdowns with these options:

  • 1 – Green
  • 2 – Yellow
  • 3 – Orange
  • 4 – Red

The other four columns (no KPI in name) are calculated columns with the following formula. Just change the “Cost KPI” to the correct column name for each (i.e. Time’s formula will be …(LEFT([Time KPI],1)…). All of the non-KPI calculated columns are number type.

You can copy and paste this from the GitHub embedded snippets in the first section.

Note: If you want to use images/icons, see bottom of post.

Modify your main list view so you ONLY see the KPI columns (displaying color names). Don’t forget to uncheck the “Title” column. We’re about to hide it from the new item form and won’t be using it.

Then, in your list settings –> Advanced settings, change “Allow management of content types” to “Yes” and click OK.

Then select your item content type.

Select “Title” and change it to hidden and OK.

Click to enlarge

Finally, so we have some “lights” to work with, go to your new list and add a “new item” with whatever initial statuses you wish.

Click to enlarge

Add a web part where you want the indicators

On your home page or dashboard, add a “Content Editor” web part and reference the stoplight.css script.

  1. Edit page
  2. Insert –> web part –> media and content –> content editor –> Add
  3. Edit web part
  4. Paste URL to stoplight.css (saved in your site assets earlier)
  5. Set chrome type to None and Apply

Insert an app part for Project Health.

Click to enlarge

“Save and keep editing” – our next step will navigate away from this page and you will lose changes unless you save now.

Edit the new “Project Health” web part you added

Edit the current view

Uncheck all of the KPI columns and check the other four (without KPI in the name). Arrange them as you wish, and add “Edit (link to edit item)” as first position. Click OK.

Edit page again, and edit the web part again. Set “Toolbar type” to No Toolbar

Set “Title” to whatever you want displayed above the stoplights on the dash/page, set dimensions to 100×300 pixels and set “Chrome type” to “Title only.”

Under “Miscellaneous” check the box for “Server Render.” Then click OK and save/publish the page. Once the page refreshes after save, you should see your stoplights.

Going forward, your users will simply click the “edit icon” next to the row of stoplights to update the status indicators.

Use images/icons instead of dots

If you’d prefer to use images/icons, you can alter the other calculated column formula included above to include an image URL in place of a dot as seen in the example below.

Copy and paste this script from the GitHub gists at the top of this post.

Use Microsoft Flow to automatically convert RTF files to DOC

I currently work in healthcare and have run into situations with users where some data files are exported from software solutions in .rtf or .txt format only. To improve the user experience once these files are dropped into SharePoint, we can convert any .rtf file automatically to .doc.

Why?

When RTF files are opened in the browser, the option to “Edit in browser” is grayed out since the file type isn’t compatible with that functionality.

Click to enlarge

Okay, but why .doc and not .docx?

Unfortunately, we can’t convert from RTF to DOCX without the use of Azure functions (thanks, Pieter Veenstra for that info). But if we can at least convert it to DOC for users, they’ll get the “Edit in Browser” option which will then prompt them to convert the file to DOCX in two clicks (Convert –> Edit). Then we finally have a .docx file.

Click to enlarge

How to auto-convert .rtf to .doc using Flow

Prepping the document library

First, since we don’t want anything to happen to files that aren’t .rtf, we’ll need to create a column in our list to display “extension.” Then we’ll use SharePoint Designer to populate the extension and Title fields whenever an item is added or changed. Flow can’t use file name fields, so we’ll set title to match name.

  1. Library settings –> Add column –> Single line of text (name it extension and save)
  2. Create a SharePoint Designer workflow (2010 or 2013 – doesn’t matter for this purpose) that triggers on creation or change
  3. Set extension to file type, and title to name

Publish the workflow. Now when a .rtf file is dropped into the library, it will set “rtf” in the extension column and set the blank Title field to the same as “Name” so that we can use it in Flow.

Create the flow (.rtf to .doc)

Trigger and condition

  1. Create a new flow with the trigger “When a file is created or modified (properties only)” and select (or enter) your site and library name.
  2. Create a condition step that checks if “extension” is equal to rtf

“If yes” box

Now we’ll create four steps in our “if yes” box. Configure each as pictured below, careful with file paths not to include the whole URL – just the relative path beginning something like /Shared Documents/…

  1. Get file content using path (gets contents of the .rtf file)
  2. Create file (creates new .doc file using the .rtf contents)
  3. Get file metadata using path (gets original .rtf file)
  4. Delete file (deletes original .rtf file to avoid confusion)

Expand the flow (optional – delete .doc if .docx created)

If no box (optional)

Users can now easily convert .doc to .docx in two clicks. But it leaves the original file (.doc) behind which can be confusing. So we can create steps in our Flow to delete the .doc file IF a .docx by the same name is created.

In the no box, we’re going to create another condition step to check if the extension equals .docx.

If yes, use a “Get file metadata using path” step to get any file by the same name from that library (use the “Title” dynamic content from the trigger step and add a .doc). Then in your “delete file” step, simply use the ID from the get metadata step.

Now when a user converts a .doc to a .docx file in the browser, your Flow will delete the .doc that’s left behind. Note that there will be a delay.

  1. SharePoint Designer has to wait until you’re out of the editor to reassign the “extension” field to .docx
  2. Flow has to wait for SharePoint Designer to make that change so that it triggers appropriately

While this is certainly not an ideal workaround, it may be the best you’re able to do with the resources on hand. Not everyone has Azure, or developers, premium add-ins/vendors or the budgets for such things. Best of luck!

Here’s a view of the full flow, highlighting which steps I’m pulling dynamic content from. Click to enlarge.

Click to enlarge

“The selected file doesn’t contain template elements” error in Microsoft Flow

I recently tried to use the “Populate a Microsoft Word template” step in Microsoft Flow (currently in preview) to insert text into content controls, but ran into the error above.

The selected file doesn’t contain template elements.

The issue was that my content controls in the template were of rich text format and date. This preview step currently only supports plain text, combo box, and dropdown content controls.

Plain text, combo box, and drop down are the only supported content controls as of the publishing of this post.

So for all of your text fields, make sure you use the correct (plain text) control:

Once I replaced my rich text content controls with plain text, the content controls showed up in Flow as options for populating:

To keep this organized, I recommend giving each content control a title (in its properties) so you can easily identify each field when in Flow (select content control, then “Properties” from developer tab).

Remember, you’ll only see supported content type fields in Flow. Even if you have a date content control, you won’t be able to populate it using Flow.

Remove specific people from people search results in SharePoint

Note: Screenshots and steps from a 2016 environment

There may be times when you have AD accounts showing up in search results that you can’t delete, but need to hide from results. The following sections will guide you through removing specific profiles from your people search results.

Steps:

  1. Create a mapped property for user profiles
  2. Use the new property at least once
    • Start a full crawl of people source
  3. Create a managed property mapped to your new user property
    • Start a full crawl of site source
  4. Edit the query on the people search results page
  5. (optional) If you have “People Results” as “Promoted Results” or “Ranked Result Blocks”

1. Create a mapped property for user profiles

From Central admin, click on “Manage service applications”

Select “user profile service application”

Click “Manage User Properties” under “People”

Select “New Property”

Set the new properties settings as follows:

  • Name and display name: RemoveFromPeopleSearch
  • Policy Setting: Optional
  • Default Privacy Setting: Everyone
  • Search settings, Alias: checked
Click to enlarge

Click OK.

2. Use the new property at least once

For the rest to work, you’ll need to mark at least one user profile to not show up in search. I did this by adding a “1” to the property we just created for a user I wished to remove from results.

Back under “User profile service application” (Central admin –> Manage service applications –> “User profile service application”) click on “Manage user profiles.”

Search for and edit the profile of who you’d like to remove from search results.

Start a full crawl of your people content source.

3. Create a managed property mapped to your new user property

Once the crawl is complete, go back to Central Admin home and select “Manage service applications.”

Select “Search service application”

Select “Search schema” from the left under “Queries and Results”

Select “New managed property”

Name it RemoveFromPeopleSearch and check “Queryable” and “Retrievable”

Click to enlarge

Scroll down and click “Add a mapping,” search for “remove” and add our new user property.

Click to enlarge

Click OK

This time, start a full crawl of your SITE content source.

4. Edit the query on the people search results page

Once your crawl is finished (may take a while), you’ll want to go to your people search results page and “Edit page.”

Click to enlarge

Edit the “Results” web part

In the menu that appears on the right, select “Change Query.”

If you’re not in advanced mode, switch to advanced mode. Then expand the “property filter” dropdown and select “show all managed properties.”

Try the dropdown again, and now you’ll see your new property listed. Select it and click “OK

Set properties as follows and click “Add property filter”

Click OK

Click “Apply” on the web part menu

Click “Save” and publish (if checked out)

5. (optional) If you have “People Results” as “Promoted Results” or “Ranked Result Blocks”

If you have people results outside your regular people search (such as a promoted result block in Local SharePoint Results) you’ll just need to be sure to also add the RemoveFromPeopleSearch<>1 string to the end of your query rule’s query.

Query rules can be accessed through central admin (manage service applications –> search service application –> query rules) or from Site Settings –> Query rules depending on where you initially setup your query rules/promoted results.

Edit the query rule in question, click “edit” next to the result block that’s relevant, then “Launch Query Builder” to be able to add the RemoveFromPeopleSearch<>1 string to your query.

Manually start a full or incremental crawl of an on-prem content source in SharePoint

From central admin, click “Manage service applications” under “Application Management”

Select the “Search service application”

Select “Content sources” from the left under “Crawling”

Select the drop-down for the content source you’re crawling and choose either a full or incremental crawl.

Spam on the rise! GIFs to help you tell the cautionary tale

Spam is no joke. But when we educate users about it, we can have a little fun. A few months ago, my director sent out an email with the subject line “Spam on the rise” which I felt needed a little cinematic pizzazz. Without further ado I give you Spam on the Rise, ready for your PowerPoint slides or digital resources.

Click any to see/save full-size.

And the tweets (check the thread) for the social media savvy among you:

Set and manage notification alerts on SharePoint discussion boards, lists, & libraries

In both modern and classic SharePoint experiences, you can navigate to any discussion board, list, or library and set a custom alert just for you (or for others if you’re an admin) to get emails on new items, modifications, and more. All of the setup and management guidance below is classic, but modern is almost exactly the same except for how you initially access the “Alert me” options.

Set up a new alert

First, navigate to the list or library. Once there, you’ll see “Files/Items” and “Library/List” at the top. In the example below, we’re setting an alert on a document library so our options are “Files” and “Library.” Click the second option for the library, then “Alert Me.”

Select “Set alert on this library/list”

In the first part of the dialog, choose the Subject line of the email notifications (Alert Title), who should get it (just you if non-admin), and how they should get it. Your administrators may not have text messaging set up, so that may not be an available option.

Finally, choose what you care about (new items, modifications, deletions), the context/criteria for notifications, and how frequently you want emails (immediately, daily, or weekly). I find the daily option is great for discussion boards so users aren’t overwhelmed with back and forth discussion and can instead read a digest and catch up in a single email.

Click OK.

When ribbon menu isn’t there (classic)

Sometimes when you’re on a page with multiple web parts, you won’t see the Files/Library or Items/List menu options. This is because you need to “select” the relevant web part on the page by clicking in “white space” on the web part. The ribbon menu should then appear. And unless settings were changed by your site owner, you can sometimes click the title of the web part to go to just that app where you’ll see the menu as well.

Modify existing alert (end-user)

From the email notifications you receive, you can just click “Modify my alert settings” to see all alerts you have on that particular site, and be able to delete them or edit the settings.

You can also get there the same way we started. Ribbon menu –> List/Library –> Alert Me –> Manage my alerts

Manage all user alerts (admin)

Go to site settings

Under “Site administration” select “User alerts”

Choose for whom you’re modifying/deleting the alert(s) and click Update

You’ll now see all alerts that user has set up on that site (or alerts someone set up on their behalf). From here, you can delete any unwanted alerts, or report back to the user or interested party on frequency and topics/lists with alerts.