SharePoint / Office365

Main menu

Post navigation

Summary: This blog post provides a PowerShell script that creates a site collection for each SharePoint WebTemplate available.

I found that after years of consulting, I still didn’t know all the web templates SharePoint has to offer, so I decided to create a PowerShell script that creates a site collection for each web template.

It creates the site collections under the “/sites/” wildcard inclusion Managed Path.

Summary: This blog post describes how to get document previews for SharePoint Online and SharePoint on-premises results after configuring Cloud Hybrid Search.

After setting up Cloud Hybrid Search, you might find that document previews are working for your SharePoint Online content, but not for your on-premises content.

Microsoft uses Office Online Server (OOS) in Office 365 to enable document previews for your SharePoint Online files.
Unfortunately, it is not possible to leverage OOS from Office 365 for your on-premises content.
This is why deploying Office Web Apps or Office Online Server is required in order to get document previews for your on-premises content.

Choosing between Office Web Apps and Office Online Server
When choosing the right product for your organization, keep in mind that Office Web Apps is not supported for SharePoint 2016.

Considerations
– If you have multiple on-premises SharePoint farms, you can connect all these SharePoint farms to a single Office Online Server farm.
– Make sure to make the Office Online Server farm accessible from outside the organization network if required.
– Please use HTTPS for Office Online Server.

This change affects all users, even users that are not in first-release mode. Even when Teams licenses are not activated for the user, it still pushes for Microsoft Teams, which results in an error.

I couldn’t find any announcement by Microsoft that this change was about to happen, so we had no way to test this new “feature” and communicate this with our employees. It would be great to have a way to disable this feature, to allow people to use the in-line chat when Microsoft Teams is not enabled in their tenant.

Update: After refreshing my page, it goes back to the old user interface, opening the in-line Skype for Business chat functionality. It seems this was a temporary bug/feature.

But still, the text was pretty clear: “Skype for Business is now Microsoft Teams!“.
We’ll see what happens in the future.

Summary: This blog post will show you how to configure Hybrid Auditing in SharePoint 2016. It will also point out some considerations when deploying this new feature.
Microsoft released a new hybrid feature for SharePoint 2016: Hybrid Auditing. This feature will automatically upload your on-premises user activity logs to Office 365, so administrators can generate reports for users across SharePoint on-premises and Office 365.

* Note: This feature is still in preview! The configuration and capabilities might change in the future.

Verify your configuration

If you want to verify that the configuration was successful, here are some tips:

Get Microsoft SharePoint Insights configuration
If you want to make sure that you Hybrid Auditing configuration was done correctly, you can use the following PowerShell cmdlet to see the current configuration:

Get-SPInsightsConfig

This will show you the current configuration for your Hybrid Auditing feature. This might also help you to find any issues you’re facing.

Configure usage and health data collection
In Central Administration, under Monitoring -> Configure usage and health data collection make sure “Enable usage data collection” is checked.
For now I am not sure which checkboxes are required for the hybrid functionality, but these are the ones I have active at the moment.

Troubleshooting

After configuring Hybrid Auditing, I found that I wasn’t getting any on-premises results from the Office 365 Security & Compliance center.
Here you can find some issues that I ran in to and the solution for these issues.

Failed to start a service (Microsoft SharePoint Insights service) that is needed for Hybrid Auditing (Preview) scenario

After running the Hybrid picker I would get this error. It seems that there is a time-out when the picker tries to stop and start the Microsoft SharePoint Insights service. To get around this error, make sure the Microsoft SharePoint Insights service is started from the Services on Server or Services in Farm menu in Central Administration.

I have changed my log location in my on-premises farm
Whenever you change your log location, this change is not automatically picked up by the Microsoft SharePoint Insights service.
Instead, you should run the Hybrid Picker again, then restart the Microsoft SharePoint Insights service from Central Administration.
Your logs will appear in Office 365 after performing these steps.

During my testing, I found that the user mapping isn’t done correctly. As this is a preview feature, I am hoping this will be resolved when the feature will be GA.

I have a user named Kim Akers. In Active Directory, this user is known as:

Userprincipalname: kimakers@sharepointrelated.com

User logon name (pre-Windows 2000): sprelated\kimakers

Kim works in both SharePoint 2016 (on-premises) and SharePoint Online.
Opening the Security & Compliance Center in the Office 365 Admin Portal, the “Users” field automatically resolves “Kim” as “Kim Akers”. See the screenshot below as a reference:

The results coming back for this search only show the SharePoint Online activities for Kim.
This is because the results for the on-premises activities for Kim are actually displayed under the user sprelated\kimakers.

Until now, I haven’t found a way to find results for on-premises users directly. The only way to find on-premises activities is to leave the “Users” field empty. This means you will get all results, without any user filter. This makes it hard to find the activities for on-premises users.

If you have any trouble configuring Hybrid Auditing, contact me on Twitter or LinkedIn and I will help wherever I can.

In SharePoint Online, the maximum numbers in your term store is only 200.000.

This means that you can only have a maximum of 200.000 terms in your on-premises Managed Metadata Service Application if you are planning to use hybrid taxonomy. Take this into consideration when you configure hybrid taxonomy.

2. Preview

Hybrid taxonomy is currently still in preview. Keep in mind that things might change along the way.

Summary: This post provides an overview of all hybrid SharePoint features that were released by Microsoft for SharePoint 2013 and SharePoint 2016.

During Ignite 2016 in Atlanta, Microsoft released some really cool hybrid features, that I would like to share some information about. The really cool thing about this is that they are not only available for SharePoint 2016, but Microsoft actually made most of them available in SharePoint 2013. The following table will show the availability per feature, so you know which one is available to your environment.

For more information on any specific hybrid feature, click the feature in the table below.

(1) Breaks ALL existing server-to-server trusts. Provider-hosted add-ins are the most commonly found that use server-to-server trust. Make sure to read this blog post for a solution.(2) There have been major improvements in the CU’s after the initial August 2015 CU for Cloud Hybrid Search. I advise downloading the last CU that has no regressions.

In the last months I have been actively configuring and testing hybrid capabilities in SharePoint 2013. If you have any questions during configuring hybrid features in SharePoint, make sure to contact me on Twitter for the fastest response! I’ll be glad to help with any question.

This article has a “Caution” section, warning that any access tokens created for a specific realm, won’t work after changing the SPAuthenticationRealm.

To fix this, I wrote a script that gives you 2 options:

Undo

Fix

Reverse the changes made by configuring Hybrid. It will change the SPAuthenticationRealm back to the old value. All SharePoint hybrid features stop working. All your provider-hosted add-ins will work again.

This option will try to change your SPTrustedSecurityTokenIssuers so that it uses the new SPAuthenticationRealm set by configuring hybrid.

There are some notes that I described later in this post, make sure to read them.

Running the script will result in something like this:Running the Fix-Hybrid.ps1 script

You can download the script here:

Notes
If you choose to fix your SPTrustedSecurityTokenIssuers, you will need to do some additional work to have everything work again.

Regrant app permissions

App permissions rely on the SPAuthenticationRealm.
This means that any App permissions that you set, will be gone after updating your SPTrustedSecurityTokenIssuers.
You will have to register the apps again and assign the permissions to the app.
The following script can do this for you (the current script is app-instance based, this means you have to run it for every app instance.
Also, make sure to change the variables in the script before running it.

Workflow Manager

Workflow Manager also relies on the SPAuthenticationRealm. Thanks to Ruben de Boer for proposing the solution.
After running the Fix-Onboarding.ps1 script, make sure to remove the existing Workflow Service Application Proxy.
Then run the Register-SPWorkflowService cmdlet again. Make sure to use the same scope that you used before. I recommend using the -Force parameter.

I hope this helps anyone! Do not hesitate to contact me if you have any trouble using the script of have any questions.

The ULS logs didn’t show any information, and no events were logged to the Windows Event logs.
After opening a case with Microsoft, they provided me the actual error that they found after analyzing verbose logging data.

The error was:SynchronizeMIIS encounters an exception: Microsoft.SharePoint.Administration.SPDuplicateObjectException: An object of the type Microsoft.Office.Server.Administration.ProfileSynchronizationSetupJob named “ProfileSynchronizationSetupJob” already exists under the parent Microsoft.SharePoint.Administration.SPTimerService named “SPTimerV4”. Rename your object or delete the existing object.

The solution
When starting the User Profile Synchronization Service, it tries to create a timer job (ProfileSynchronizationSetupJob) that will do part of the provisioning.
For some reason, this timer job already existed but was never run.
After deleting the timer job, I was able to start the User Profile Synchronization Service.

Summary: This PowerShell one-liner will show the people picker settings for each Web Application, including Central Administration.

If you want to know the settings for the people picker in your SharePoint farm, you can run the following line of PowerShell.
It will retrieve all Web Applications and show the people picker settings for each one.