Tag Archives: SharePoint 2013

Degraded Search SharePoint 2013

So recently I came across this error within #SharePoint2013.

Search service overall state: Degraded

1

This was actually really easy to fix for me in this instance. ¬†Both of my WFE’s had run out of space on the Index #LUNs. As soon as I expanded the disk, the #Degraded warning triangle disappeared!

Nice and simple but make sure you check this before resetting the Index.

Restart SharePoint 2013 Workflows with PowerShell

Recently I had an issue where my #SharePoint list #workflows wouldn’t run and were in suspended state. The reason for the suspended state was an item already existed in the destination folder where the workflow was supposed to move the file to.

I tried lots of tricks to get the workflows to automatically start, I had about 250 instances of this happening and no scripts I found online would resolve this issue. They just wouldn’t cancel / resume.

In the end I removed the workflow from the list (which killed all instances) and then republished. Perfect. Now how to start them all again? Hmm

Well because these are #SharePoint2013 Workflows that run on a workflow management server, the normal scripts for starting them are different. To cut it short, use the following #script and all should be good.

$sourceWebURL = ‘http://YourURL
$sourceListName = ‘YourListName
$TargetWorkflow = ‘YourWorkflowName
$spSourceWeb = Get-SPWeb $sourceWebURL
$spSourceList = $spSourceWeb.Lists[$sourceListName]
$items = $spSourceList.getItems()

# Getting a Workflow manager object to work with.
$wfm = New-object Microsoft.SharePoint.WorkflowServices.WorkflowServicesManager($spSourceweb)
# Getting the subscriptions
$sub = $wfm.GetWorkflowSubscriptionService()
# Getting the specific workflow within the list of subscriptions on the specific list. (SP2010 associated workflows basically)
$WF = $sub.EnumerateSubscriptionsByList($spSourcelist.ID) | Where-Object {$_.Name -eq “$TargetWorkflow”}
# Getting a Workflow instance in order to perform my commands.
$wfis=$wfm.GetWorkflowInstanceService()

Foreach($item in $items){
# Creating the dictionary object I need to parse into StartWorkflow. This could be most other workflow commands.
$object = New-Object ‘system.collections.generic.dictionary[string,object]’
$object.Add(“WorkflowStart”, “StartWorkflow”);
$wfis.StartWorkflowOnListItem($WF, $item.ID, $object)
}

All you need to do is edit the BOLD text above and you should be on your way. Copy and Paste it into PowerShell ISE and save as PS1. Then run the file through the SharePoint 2013 Management Shell.

Good Luck!

Creating default SharePoint permissions groups (Hostname site collection)

When you create a #Hostname #SiteCollection within SharePoint 2013 you will notice that the default user groups aren’t there. This is because they aren’t created when you use #PowerShell to create a hostname site collection.

To get these groups back, this can be done via PowerShell or simply doing the following:

Navigate to http://yoursitename/_layouts/15/permsetup.aspx

From this page you will see the following:

groups

Simply click on OK and the groups will be available.

The important part of the URL is

_layouts/15/permsetup.aspx

Have fun with your permissions!

Active X errors SharePoint 2013/ SharePoint 2010 & IE11

This may not be the same for everyone but I recently had this error at work and it was doing my head in.

When a user got upgraded to IE11 from IE8 and went to a #SharePoint site, they were presented with a nice #ActiveX error that just wouldn’t go away! After lots of Investigations and Googling I still couldn’t find a solution.

FIX: 

Eventually I decided to get our #webapp URL’s and Host-name site collections added into the trusted site list and deployed via #GroupPolicy

Now we don’t get any #ActiveX issues within the sites we added to the trusted site lists.

As I said above, it might not apply to everyone but it certainly worked for the company that I work at.