Final 2013 SharePoint MVP Forum stats:
My latest project has gone live. It allows SharePoint developer's to have easy access to lookup of what methods are supported and provided examples of how to use them via JSON, CSOM and JSOM. It is available here:
This tool also provided the ability to vote on the methods and properties that you would like to be exposed in the APIs. Gone are the days of "Just give us parity" with the Server Object Model. Comments like those pretty much gets you banned
egulated to the bottom of the stack when it comes to getting anything from product engineering. So…if you want something…VOTE FOR IT!
What a pain in the *you know what*! You need to install this to utilize advanced features like eDiscovery and Work Management in SharePoint 2013. You have to download the installer, then run the following command (as it puts the dll in the GAC):
msiexec /i EwsManagedApi.msi addlocal="ExchangeWebServicesApi_Feature,ExchangeWebServicesApi_Gac"
Well...if you have copied the double byte double quote (") into your command...you get the dreaded 2271 error. You can always use the msiexec's logging abilities by doing the following:
msiexec /i EwsManagedApi.msi addlocal="ExchangeWebServicesApi_Feature,ExchangeWebServicesApi_Gac" /L*V "install.log"
Which will of course then tell you:
MSI (c) (8C:80) [08:56:44:768]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2711
DEBUG: Error 2711: The specified Feature name ('”ExchangeWebServicesApi_Feature') not found in Feature Table.
Here's the code:
$credentials = get-credentials
$uri = new-object
#note: I'm not sure if these GUIDs are the same for eery workflow
farm or not. YOu can find this in the WFResourceManagementDB.Scopes
table on your SQL Server. You will need the full path.
$dcli = new-object Microsoft.Workflow.client.WorkflowManagementClient($uri, $credentials);
$im = $dcli.instances
$im.get() #this will show you all instances of workflows that have executed on your farm (even the ones that are still waiting)
foreach($inst in $im.get())
$im.Terminate($inst.WorkflowName, $inst.InstanceName, "Because I said so");