Quantcast
Channel: Al's Tech Tips
Viewing all 388 articles
Browse latest View live

SharePoint 2013: Built-in accounts are used as application pool or service identities

$
0
0
Problem

You find the following entry in the SharePoint 2013 Central Administration, Review problems and solutions, All Reports listing:

TitleBuilt-in accounts are used as application pool or service identities. 
Severity2 - Warning
CategoryConfiguration
ExplanationUsing built-in accounts like Network Service or Local System as application pool or as service identities is not supported in a farm configuration.  The following services are currently running as built-in identities on one or more servers: c2wts(Windows Service)
RemedyBrowse to  .../_admin/FarmCredentialManagement.aspx and change the account used for the services listed in the explanation. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=142699".
Failing Servers 
Failing ServicesSPTimerService (SPTimerV4)
Rule SettingsView
  
Solution
  1. Determine the SharePoint service account that you want to use as the identity for the Claims to Windows Token Service.
    1. This service account should be a domain account with standard user privileges. 
      For my environments, I generally use the services account (eg, spService) as the identity for C2WTS.
    2. If your environment is locked down, ensure that the network GPO is modified to grant the service account the Impersonate a client after authentication and Log on as a service local user rights assignments.
    3. Using the SharePoint Setup/Administrator account (eg, spadmin), launch Central Administration, and then navigate to Security > Configure service accounts.
    4. From the upper dropdown, select Windows Service - Claims to Windows Token Service.
    5. From the lower dropdown, select the desired service account.
    6. Click OK.
    7. Check the Events log on the server on which the service is started to ensure that this account re-assignment did not generate any errors.
References
  1. Claims to Windows Token Service (c2WTS)
  2. c2wts - Windows Service account SharePoint Server 2010
  3. Built-in accounts are used as application pool or service identities (SharePoint Foundation 2010)
  4. How to configure the Claims to Windows Token Service (C2WTS) for SharePoint 2013
  5. Local Policy Settings
Notes
  • Remarkably, the SharePoint 2013 Health Analyzer rules reference does not include an entry for this issue, though the 2010 rules reference does.  A link to the appropriate rule reference for this issue is provided in the References section.
  • Reference 4 indicates that the C2WTS service account should have the Act as part of the operating system user right assignment in local policy.  However, in its Local Policy Settings reference, Microsoft states that,
    This user right is extremely powerful; anyone with this right can take complete control of the computer and erase virtually any evidence of their activities.

    Limit the Act as part of the operating system user right to as few accounts as possible—it should not even be assigned to the Administrators group under normal circumstances. When a service requires this user right, configure the service to log on by using the local System account, which has this user right inherently. Do not create a separate account and assign this user right to it.

    This user right is rarely needed by any accounts other than the local System account.
    Thus, it's not clear to me that the C2WTS service account actually requires this user right assignment.  The other two rights assignments, Impersonate a client after authentication and Log on as a service, are common assignments made to service accounts by the SharePoint Products Configuration Wizard, and thus I have no difficulty with these.  More conclusively, I have set a domain account to run C2WTS that does not have the Act as part of the operating system user right assignment, and the service ran just fine without generating any events on the server.

SharePoint 2013: My Site content is not being crawled

$
0
0
Problem

You have deployed a new Search Service Application and launched a full crawl of all content among all sites, including your farm My Site instance.  On reviewing the crawl log, you see the following warning associated with My Site crawl:
This item and all items under it will not be crawled because the owner has set the NoCrawl flag to prevent it from being searchable.

You're not sure where this setting is.

Solution
  1. In any browser, navigate to the root My Site URL.
  2. From the Settings gear icon (top right corner), click Site Settings.  The Site Settings page is displayed.
  3. In the Search group, look for Search and offline availability.
  4. Click this link.  The Search and Offline Availability page is displayed.
  5. For the Indexing Site Content setting, select Yes.
  6. Click OK.
  7. Start a new crawl.
References
Notes
  • This setting used to be located in the Site Administration group in SharePoint Server 2010.

SharePoint 2013: Unable to change topology when Generation controller is not active

$
0
0
Problem

You are attempting to modify the existing farm search topology by adding a second WFE and adding index and query components to this second WFE.  Within your SharePoint Management PowerShell window, you clone the current enterprise search topology, and make the appropriate modifications, but when you then try to activate it, you are presented with the following error: 
Exception calling "Activate" with "0" argument(s): "Topology activation failed. Management called failed with System.InvalidOperationException: 'Unable to change topology when Generation controller is not active' at at Microsoft.Ceres.SearchCore.IndexController.IndexController.IsEmptyIndex(String indexSystemName) at Microsoft.Ceres.SearchCore.IndexController.IndexControllerManagementAgent.WrapCall[T](Func`2 original)" At line:1 char:1 + $Clone.Activate() + ~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SearchTopologyActivationException SharePoint 2013 Unable to change topology when Generation controller is not active
You then check the Search Service Topology and note that the index component on the WFE currently hosting the index and query components is in a degraded state.  This is the only index component for the farm.  You then engage in troubleshooting.

Troubleshooting
  1. Action: attempted to reset index.
  • Result: would not complete.
  • Action: attempted to delete Search Service Application
    • Result: would not complete.
  • Action: perform steps as in reference [2], then removed and re-installed the Search Service application.
    • Result: was able to perform a delete of the Search Service Application and then build a new search service application.
  • Action: viewed search topology on Search Service Administration page.
    • Result: index partition no longer displays in degraded state.
    Solution
    1. Get out of any still running index reset or search application deletion prompts that display that they are still busy.
    2. If you are not there already, remote into the farm server hosting the search service.
    3. Stop the SharePoint Timer Service on this server.
    4. Open up Windows Explorer, and then navigate to C:\ProgramData\Microsoft\SharePoint\Config\.  You'll see one or more folders at this location named by a GUID.  Look for the most recent one. 
      Note: this posting assumes that the SharePoint 2013 binaries were installed default (to the C: drive).
    5. Open this folder.  You will see a number of XML files. 
    6. Delete all XML files in this folder only.
    7. Now look for the file cache.ini.  It should be the only one remaining.
    8. Open this file in a text editor.  It will contain a single six-digit number.
    9. Edit this number randomly, but keeping it at six-digits.
    10. Save the file.
    11. Restart the SharePoint Timer Service.
    12. Now delete the Search Service Application.
    13. Rebuild the Search Service Application.
    References
    1. Create new Index Component and add it to a clone topology?
    2. SharePoint 2013 Unable to change topology when Generation controller is not active
    3. An update conflict has occurred, and you must re-try this action. The object SearchServiceApplication Name={FAST SSA} was updated by {account}, in OWSTIMER (5836) process, on machine {server name}.
    4. One or more servers is not responding (SharePoint Foundation 2010)
    Notes
    • If your site displays an HTTP 500 Internal Server error page, after performing these stops (specifically, stopping and starting the SharePoint Timer Service), check IIS to verify that all application pools are started on the WFE you were working on.

    SharePoint 2013: Critical Event 6398: The Execute method of job definition Microsoft.SharePoint.Administration.SPAppInstallationJobDefinition... threw an exception

    $
    0
    0
    Problem

    You review the Application event log on one of your SharePoint Server 2013 farm web front end (WFE) servers and find the following critical event occuring every five minutes:
    Log Name:      Application
    Source: Microsoft-SharePoint Products-SharePoint Foundation
    Date: [Date/Time]
    Event ID: 6398
    Task Category: Timer
    Level: Critical
    Keywords:
    User: [FarmAccount]
    Computer: [WFE1]
    Description:
    The Execute method of job definition
    Microsoft.SharePoint.Administration.SPAppInstallationJobDefinition
    (ID 16bfab57-4403-44da-9092-37f0f81fb32e) threw an exception. More
    information is included below.

    Access to the path 'C:\ProgramData\Microsoft\SharePoint\AppInstallation'
    is denied.
    Event Xml:
    ...
    Solution
    1. Open Windows Explorer, and navigate to C:\ProgramData\Microsoft.
    2. Right-click the SharePoint subfolder, and then choose Properties.
    3. Select the Security tab.
    4. Take  note of any entries here that display as SIDS only.
    5. Perform SID lookup, both against AD and against the local machine.
    6. Verify that the following two user groups are added and that they have been configured with the following permissions:
      1. WSS_ADMIN_WPG
        1. Full Control
      2. WSS_WPG
        1. Read & Execute
        2. List folder contents
        3. Read
    7. Remove any corrupted accounts/groups that appear here (you will see their SIDS only).
    8. Reboot the server.
    References
    Notes
    • I have found that performing a full re-installation of SharePoint Server 2013 (including configuration) seems to sometimes cause corruptions among the local user groups that SharePoint configures and that existing user groups are not properly cleaned up or overwritten when performing a re-installation.
    • I have found that this critical event can be temporarily resolved by adding the (AppFabric) Distributed Cache service account to the local Administrators group on each server hosting the Distribute Cache service.  I had to reboot the server after doing this, or the new account privileges was not realized.
    • Through investigation, the SIDS that I found here did not match up with the current SIDS for the WSS_ADMIN_WPG and WSS_WPG user groups already configured on the WFEs (the SIDS will be different from WFE to WFE - these are local user groups).  I think that these orphaned SIDS may reflect earlier SIDS for these same user groups from a previous installation.
    • The farm service account is a member of the WSS_WPG and WSS_ADMIN_WPG local user groups.

    SharePoint 2013: The process was terminated due to an unhandled exception

    $
    0
    0
    Problem

    You have a SharePoint Server 2013 farm, with one application and two web front end (WFE) servers in a traditional topology.  The farm servers are VMs hosted on Hyper-V.  Farm servers have both private and external NICs configured.  The private network is limited to farm servers.  A HOST file is used to enable private network routing among farm servers.  The Distributed cache service is running on the application server and the two WFEs.  You review the Application Event log for one of your web front end (WFE) servers and find the following set of events appearing in the log on an hourly basis:
    Log Name:      Application
    Source: Application Error
    Date: [date/Time]
    Event ID: 1000
    Task Category: (100)
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: [WFE]
    Description:
    Faulting application name: WerFault.exe, version: 6.2.9200.16659, time stamp: 0x51db3bf4
    Faulting module name: wer.dll, version: 6.2.9200.16384, time stamp: 0x501081cc
    Exception code: 0xc0000005
    Fault offset: 0x0000000000021fe5
    Faulting process id: 0x318c
    Faulting application start time: 0x01cf62c15e954491
    Faulting application path: C:\Windows\system32\WerFault.exe
    Faulting module path: C:\Windows\system32\wer.dll
    Report Id: 9d3c283d-ceb4-11e3-9405-00155d38891a
    Faulting package full name:
    Faulting package-relative application ID:
    Event Xml:
    ...
    and
    Log Name:      Application
    Source: Application Error
    Date: [date/time]
    Event ID: 1000
    Task Category: (100)
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: [WFE]
    Description:
    Faulting application name: DistributedCacheService.exe, version: 1.0.4632.0, time stamp: 0x4eafeccf
    Faulting module name: KERNELBASE.dll, version: 6.2.9200.16815, time stamp: 0x52f2ca60
    Exception code: 0xe0434352
    Fault offset: 0x00000000000264a8
    Faulting process id: 0x3588
    Faulting application start time: 0x01cf62c03cd277d1
    Faulting application path: C:\Program Files\AppFabric 1.1 for Windows Server\DistributedCacheService.exe
    Faulting module path: C:\Windows\system32\KERNELBASE.dll
    Report Id: 9c501e53-ceb4-11e3-9405-00155d38891a
    Faulting package full name:
    Faulting package-relative application ID:
    Event Xml:
    ...
    and
    Log Name:      Application
    Source: .NET Runtime
    Date: [date/time]
    Event ID: 1026
    Task Category: None
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: [WFE]
    Description:
    Application: DistributedCacheService.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: Microsoft.ApplicationServer.Caching.DataCacheException
    Stack:
    at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    at System.Threading.ThreadPoolWorkQueue.Dispatch()

    Event Xml:
    ...
    You check the Distributed Cache service on the WFEs through Manage Services on Server in Central Administration and see that the services are running on all servers. You then open a SharePoint Management Shell as administrator on one of the WFEs, and you run Use-CacheCluster and Get-CacheHost to check the status of the cache hosts.  The status shows the application server status as UNKNOWN, the local server as UP and the other WFE as UNKNOWN.  You then remote into the application server and repeat the powershell commands, and this time the status is: application server UP and the two WFEs UNKNOWN.  A similar result is experienced for the second WFE.

    Solution
    1. Check the HOST file on each of the farm servers and verify that the host names in the file are fully qualified.
    References
    1. Cache Administration with Windows PowerShell (AppFabric 1.1)
    2. AppFabric 1.1 caching service crashes with System.UriFormatException: Invalid URI: The hostname could not be parsed
    3. AppFabric Event ID 1000 and Event ID 1026 with SharePoint 2013
    4. Raw error past data on PASTEBIN by Anonymous
    5. AppFabric Caching and SharePoint: Concepts and Examples (Part 1)
    Notes
    • The primary posting that helped solve this was [3]. Hat tip to the experts at Sterling International Consulting Group for identifying this one as it relates to static private networking.

    SharePoint 2013: Product Configuration Wizard stuck on task 9 of 10

    $
    0
    0
    Problem

    You have installed SP1 or some other cumulative update on all your farm servers without issue.  You then run the SharePoint Products Configuration Wizard on each machine.  It completes without issue on one or two machines, but then, on the next machine, it nearly completes but then appears to remain stuck on configuration task 9 of 10.  You wait an hour, but it still remains stuck on task 9 of 10.  You then check the Upgrade Status page in Central Administration

    Solution
    1. Delete the SharePoint Products Configuration Wizard dialog.  Terminate the process of necessary to remove it.
    2. Open the Services.msc panel, and then look for the SharePoint Timer Service.
    3. Stop this service.
    4. Open Windows Explorer, and then navigate to the cache folder at: C:\ProgramData\Microsoft\SharePoint\Config.
    5. Look for the most recent cache folder, and then open it.
    6. Delete all files in this folder EXCEPT cache.ini.
    7. Open the cache.ini file in a text editor, and then randomly modify the number, but keep it at the same number of digits.
    8. Save the cache.ini file.
    9. Start the SharePoint Timer Service.
    10. Open a command prompt as Administrator.
    11. Run the following command: Psconfig.exe -cmd upgrade -inplace b2b -wait -force
    12. Check the Upgrade Status.
    References
    Notes
    • Upgrade Status page: CA > Upgrade and Migration > Upgrade and Patch Management > Check upgrade status.
    • Cache folder: You may get a Folder not found error trying to navigate to this folder.  If so, try navigating first to one of the higher tier folders, then double-clicking on each subfolder in turn.

    SharePoint 2013: FatalError: Object Search Service failed in event OnBackup

    $
    0
    0
    Problem

    You recently deployed a new SharePoint Server 2013 farm. You attempted to perform a full backup through Central Administration for the first time.  After the backup completes, you review the Backup job status and find a number of errors, all involving backup of the Search service databases. You see this error in the status page:

    Object Search Service failed in event OnBackup. For more information, see the spbackup.log or sprestore.log file located in the backup directory.
    FaultException: Management called failed with System.InvalidOperationException: 'Job failed: Have tried to perform backup/restore operation twice on all in-sync members in cluster SP0e4f5d0f2fce.0, but none succeeded. Last failure message: Microsoft.Ceres.SearchCore.Seeding.SnapshotTransferException: Could not send chunk ms\%default\gen.000000000000007e.state: Localpath: [0-349> to target BackupDirectoryTarget[directory=[PathToBackupFolder]\spbr0000\I.0.0,validateTransfers=False]
    at Microsoft.Ceres.SearchCore.Seeding.SnapshotSender.SendChunks(ISnapshot snapshot, ISeedSource source, ISeedTarget target, SeedStatus status, Func`1 checkAborted, Int32 targetFragIndex)
    at Microsoft.Ceres.SearchCore.Seeding.SnapshotSender.FirstPhaseTransfer(ISeedSource source, ISeedTarget target, Action`1 updateProgress, Func`1 shouldAbort)
    at Microsoft.Ceres.SearchCore.Seeding.BackupWorker.BackupWork.DoFirstPhaseWork()' at at Microsoft.Ceres.SearchCore.IndexController.BackupService.ThrowOnFailure(JobStatus status)
    at Microsoft.Ceres.SearchCore.IndexController.BackupService.ProgressFirstPhase(String handle)
    at Microsoft.Ceres.SearchCore.IndexController.IndexControllerManagementAgent.WrapCall[T](Func`2 original)

    Opening the backup log file, spbackup, you see that the backup process was able to communicate with the backend just fine, as you'll see plenty of messages like these:
    ...
    [Date/Time] Progress: [Search_AdminDB] 90 percent complete.
    [Date/Time] Progress: [Search_AdminDB_CrawlStore] 100 percent complete.
    [Date/Time] Progress: [Search_AdminDB_LinksStore] 91 percent complete.
    [Date/Time] Progress: [Search_AdminDB_AnalyticsReportingStore] 91 percent
    complete.
    [Date/Time] Progress: [Search_AdminDB] 97 percent complete.
    [Date/Time] Verbose: [Search_AdminDB_CrawlStore] SQL Server Message:
    Processed 3 pages for database 'Search_AdminDB_CrawlStore', file
    'Search_AdminDB_CrawlStore_log' on file 1.
    [Date/Time] Progress: [Search_AdminDB_LinksStore] 95 percent complete.
    ...
    which indicates that the backup process is communicating with the backend just fine and thus this SQL Server interaction is not associated with the failure.  Looking farther down, towards the completion section of the log, you see errors occuring again:
    ...
    [Date/Time] FatalError: Object Search_AdminDB failed in event
    OnBackupComplete. For more information, see the spbackup.log or
    sprestore.log file located in the backup directory.
    Aborted due to error in another component.
    [Date/Time] Verbose: Starting object: Search_AdminDB_CrawlStore.
    [Date/Time] FatalError: Object Admin (C: on [Search Host Server])
    failed in event OnBackupComplete. For more information, see the spbackup.log
    or sprestore.log file located in the backup directory.
    Aborted due to error in another component.
    ...
    Lastly, looking at the application event log on the Search Service host server, you see the following timer event error:
    Log Name:      Application
    Source: Microsoft-SharePoint Products-SharePoint Foundation
    Date: [Date/Time]
    Event ID: 6398
    Task Category: Timer
    Level: Critical
    Keywords:
    User: [Farm Account]
    Computer: [Search host server]
    Description:
    The Execute method of job definition Microsoft.SharePoint.Administration.Backup.SPBackupRestoreJobDefinition (ID 26eac21f-d391-4024-a82f-8ee0b5738ba3) threw an exception. More information is included below.
    The backup job failed. For more information, see the error log that is located in the backup directory.
    Event Xml:
    ...

    Solution
    1. Identify the Search Service Account.
    2. Navigate to the intranet folder to which you intend to write full farm backups
    3. Grant the Search Service Account the following permissions to this folder:
      1. Read
      2. Write
    References
    1. SharePoint 2013 Farm Backup Error : Object Search Service Application failed in event OnBackup. Could not send chunk to target BackupDirectoryTarget
    2. Plan for administrative and service accounts in SharePoint 2013
    3. Account permissions and security settings in SharePoint 2013
    4. Create and configure a Search service application in SharePoint Server 2013
    5. Configure backup and restore permissions in SharePoint 2013
    6. Back up Search service applications in SharePoint 2013
    Notes
    • General: the issue involves service accounts and permissions to the destination backup folder. 
    • Backup log file: this will be found in the same folder containing the farm backup files.  For example, if your backup folder is SharePointBackup, inside this folder you will find a number of subfolders, each corresponding to a previous farm backup, numbered: spbr0000, spbr0001, spbr0002 and so on.  Open the most recent one to view the log of the most recent backup.
    • Search Service Account Access to Backup: this is new from 2010.  For 2010, you had to grant access to the SQL Server Service Account.  I was not able to find any discussion on this among all of the expected Microsoft documentation resources (see references 2 - 6).  Thanks to Amol Meshe for resolving this one.

    SharePoint 2013: How to deploy a search service application using PowerShell

    $
    0
    0
    Introduction
    SharePoint 2013 Deployment Series
    How to setup a database server alias
    How to deploy a search service application using PowerShell
    You have deployed a new SharePoint Server 2013 farm.  You now wish to provision the farm's Search Service Application and to do so via PowerShell so as to be able to define simple custom search database names.  This posting shows you how.  This posting assumes a five-server farm, including: one database server, one application server, two web front end servers and one Office Web Apps server. All servers are VMs hosted on Microsoft Hyper-V.  And it assumes two service accounts will be used: a content access account and an account used to run the Admin and query services.  The search topology that will be deployed will be the following:
     
    SSL is not used to connect to the primary web application content source.

    Procedure
    1. Preparation
      1. Verify setup user administrator account (eg, spAdmin) is member of local Administrator group on all farm servers.
      2. Identify service accounts and passwords:
        1. Content Access service account
        2. Administration and query service account
      3. Map the Admin service account to diagnostic logging database as dbo.
      4. Identify the web front end server names
        1. WFE1
        2. WFE2
      5. Identify the drive on the servers where you want to store indexes.  This drive must be the same on all farm servers hosting SharePoint.
        1. (eg) D:\SPIndex
      6. Verify that any application pools created for previous installations (if any) of the Search Service Application have been removed.
        1. (eg) Search Service AppPool
    2. Execution
      1. Instantiate Search Services
        1. Remote into the application server as the setup user administrator account.
        2. Open the SharePoint 2013 Management Shell as administrator.
        3. Download this script: Enterprise Search Deployment Script.
        4. Edit variable as appropriate to your farm.
        5. Run the script.
        6. After completion of the script, navigate to the Search Service Administration page and verify that the search service topology is similar to what is presented above.
        7. Verify that the default content access service account is set as the crawl account.
      2. Configure Content Sources
        1. In CA, navigate to Content Sources, and then click on Local SharePoint sites (it will be the only item in the list at present).
        2. Note the sources (URLs) present.
        3. Create individual content sources for each of these URLs so that they can be crawl scheduled individually.  So, for example, configure the following entries:
          1. Local SharePoint sites: point it to your primary web application.  If your farm has more than one web application supporting user websites, creating individual entries for each.
          2. My Sites Content: point this to your farm's My Site web application.
          3. User Profile Content: point this to the URL for crawling user profiles.  It will have the form like: sps3://MySites.com (non-SSL).
        4. Configure crawl schedules for each content source as appropriate.  Create full and incremental schedules.
      3. Configure Global Search Center
        1. Create a Search Center.  Deploy this within the primary web application or in a new web application as appropriate to your needs.  I recommend adding it to your existing primary web application.
        2. In CA, navigate to the Search Service Administration page, and then set the Global Search Center URL to the Search Center you have created for your web application.
      4. Configure SSL Content sources
        1. If your search service needs to use SSL to crawl certain content sources, you will need to configure the service to ignore SSL warnings.
        2. In CA, go to: General Application Settings > Search > Farm Search Administration.
        3. In the Farm-Level Search Settings group, look for Ignore SSL warnings.
        4. Click No.
        5. Enable Ignore SSL certificate name warnings.
        6. Click OK.
    3. Miscellaneous
      1. If you plan to perform farm backups through Central Administration or PowerShell, be sure to grant the Search service account read and write permissions to the backup folder.  Otherwise, farm backups will fail on backup of the Search service configuration and data.  This is new from 2010.
    References
    Notes
    • Farm topology: This procedure was executed on a five-server farm (including OWA and SQL), Windows Server 2012 VMs.
    • Deleting the Search Service Application through Central Administration does not remove the application pools that were created for the Search Service Application.  Thus, to completely remove all artifacts associated with the Search Service Application, and thus be able to start over from scratch, you must also manually remove those application pools that were created for it.
    • Default Content Sources: After deploying the Search Service Application, you will need to configure content sources. Your farm content sources (aside from CA) will automatically have their URLs added to the Local SharePoint sites group - including My Sites.  I recommend separating content sources, so as to be able to implement separate crawl schedules for them.  Not all content sources require as frequent crawling as your primary web applications.
    • User profile content: if you want to enable searches of user profiles, you will need to add the URL for this manually.
    • Search Service Account access to backup folder: I don't know how or why, but in SharePoint 2013, the Search Service Account plays a role in the farm backup process when it comes to backup of Search. This was not the case in SharePoint 2010, where I only had to grant the farm and sql server service accounts this access.  I discovered this new wrinkle while actually trying to perform a full farm backup for the first time and then troubleshooting and resolving its initial failure.

    SharePoint 2013: Event 8193: A failure was reported when trying to invoke a service application: EndpointFailure

    $
    0
    0
    Problem

    You recently rebuilt your SharePoint 2013 farm's Managed Metadata service application, and it runs without issue.  A day later, you check the SharePoint application server application event log, and see the following events:
    Log Name:      Application
    Source: Microsoft-SharePoint Products-SharePoint Foundation
    Date: [Date/Time]
    Event ID: 8313
    Task Category: Topology
    Level: Error
    Keywords:
    User: [Farm Service Account]
    Computer: [Application Server]
    Description:
    A failure was reported when trying to invoke a service application: EndpointFailure
    Process Name: OWSTIMER
    Process ID: 1884
    AppDomain Name: DefaultDomain
    AppDomain ID: 1
    Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:
    26fdc21debf74e8a8fbb25146d98c2c4#authority=urn:
    uuid:3e1fa89c3f23469f8e4947ba8a99c448&authority=
    [Application Server]/Topology/topology.svc
    Active Endpoints: 1
    Failed Endpoints:1
    Affected Endpoint: [Application Server]/26fdc21debf74e8a8fbb25146d98c2c4/
    SearchService.svc
    Event Xml:
    ...
    and
    Log Name:      Application
    Source: Microsoft-SharePoint Products-SharePoint Foundation
    Date: [Date/Time]
    Event ID: 8313
    Task Category: Topology
    Level: Error
    Keywords:
    User: [Farm Service Account]
    Computer: [Application Server]
    Description:
    A failure was reported when trying to invoke a service application:
    EndpointFailure
    Process Name: w3wp
    Process ID: 15280
    AppDomain Name: /LM/W3SVC/522633276/ROOT-1-130460993295064685
    AppDomain ID: 2
    Service Application Uri: urn:schemas-microsoft-com:sharepoint:service:
    7c3ac0e364d64a9bad706582b3ae004d#authority=
    urn:uuid:3e1fa89c3f23469f8e4947ba8a99c448&authority=
    [Application Server]/Topology/topology.svc
    Active Endpoints: 1
    Failed Endpoints:1
    Affected Endpoint: [Application Server]/7c3ac0e364d64a9bad706582b3ae004d/
    MetadataWebService.svc
    Event Xml:

    Solution
    1.  Rebuild the search service application.
    References
    Notes
    • The reference cited above did not directly apply to our situation but pointed the way to the solution: namely, rebuilding the affected service.

    SQL Server 2012: SQLServer Error: 15404 Could not obtain information about Windows NT group/user

    $
    0
    0
    Problem

    In SQL Server 2012, you are configuring scheduled backup maintenance plans for your SharePoint 2013 farm databases. When you attempt to execute a maintenance plan, you experience the following error:
    [date] [time],,Error,[298] SQLServer Error: 15404 <c/> Could not obtain 
    information about Windows NT group/user [Account you are logged in as]<c/>
    error code 0x5. [SQLSTATE 42000] (ConnIsLoginSysAdmin)
    Solution
    1. Determine the domain account that you will use to login to SQL Server as (eg, spAdmin) to create the farm database maintenance plans. 
    2. Launch Active Directory Users and Computers as administrator.
    3. Navigate to this account in the directory.
    4. Right-click this account and choose Properties.
    5. Select the Security tab.
    6. Click the Add button.
    7. Enter the domain account and click OK.
    8. On the Properties dialog, select this account in the Group or user names list.
    9. Ensure that Read is enabled and all its subpermissions (eg, Read account restrictions, Read general information, etc).  Disabling and enabling Read automatically enables all the Read subpermissions. 
    10. Click OK.
    References

    SharePoint 2013: You do not have an email address

    $
    0
    0
    Problem

    You recently deployed User Profile Service application to your 2013 farm.  The service runs without issue.  User information appears in their My Sites.  However, when they attempt to configure alerts on lists or document libraries, they experience the following error message:

    Troubleshooting
    • Check repeatability: explore the issue further and find that you can't create alerts either; not even with your administrator account. 
    • Determine scope: conduct inquiries among IT staff, you learn that staff are receiving email notifications from process workflows; and from your users you discover that they are receiving notifications when you grant them new permissions.  Therefore, you can logically conclude that the cause is not due to firewall or email server communication issues.
    • Research indicators:  a standard search found a few references involving the error message, all of which seemed to indicate that the problem involved user profile service application configuration, specifically, appropriate mapping of the AD email field.
    • Verify conclusion: perform ad-hoc search of user profiles to view random selection, and then check email address.  None indicated for any user.  Check email field mapping: currently set to default, or aCSPolicyName.
    Solution
    1. Launch Central Administration.
    2. Go to: Application Management > Service Applications > Manage service applications > User Profile Service > Manage User Properties.
    3. Scroll down to the Contact Information section and then look for Work email.
    4. Hover the cursor over the Work email field, to expose the drop down, and then select Edit from this drop down.
    5. Scroll down to the Property Mapping for Synchronization section.
    6. Click the Remove button.
    7. In the Add New Mapping section, select mail from the Attribute drop down.
    8. Click the Add button.  A new entry will appear in the Property Mapping for Synchronization.
    9. Click OK.
    10. Go to: Go to: Application Management > Service Applications > Manage service applications > User Profile Service.
    11. In the Synchronization section, click Start Profile Synchronization.
    12. After this completes, wait an additional hour before engaging in any significant testing of alert creation.
    References
    1. email not working : The following users do not have e-mail addresses specified
    2. SharePoint 2013 Alert Error: You do not have an email address
    3. Error when you create an alert in Microsoft SharePoint Online in Office 365 for enterprises pre-upgrade: "You do not have an email address"
    4. Configure alert settings for a Web application (SharePoint Server 2010)
    5. Manage user profile synchronization in SharePoint Server 2013
    6. Synchronize user and group profiles in SharePoint Server 2013
    7. Timer job reference (SharePoint 2013)
    8. Troubleshooting Steps for SharePoint Alert Email Does Not Go Out
    Notes
    • User email addresses will not be immediately available to the alert creation process after completion of the user profile synchronization.  This is because further internal process must be complete that update internal user profile tables with the new email data.  This internal process involves various User Profile Service jobs that may take some time to complete.  From my own experience, it took upwards of an hour before all users could successfully receive list and library alerts.

    SharePoint 2013: Processing this item failed because of an unknown error when trying to parse its contents

    $
    0
    0
    Problem

    You perform a crawl, and then, checking the crawl log, you see an overwhelming number of errors like the following:
    Processing this item failed because of an unknown error when trying to parse its contents...
    and
    The content processing pipeline failed to process the item...
    Solution
    1. Description: the Search Service account requires specific local user rights assignments to function fully, including:
      1. Adjust memory quotas for a process
      2. Impersonate a client after authentication
      3. Replace a process level token
    2. Short term: add the search service account (and the content access service account, if you use such) to the local Administrators group on each server in the farm hosting SharePoint Server.  By default, the members of the local Administrators group are automatically granted most all user rights, including those listed above.
    3. Long-term: request your network administrators to modify your organization's GPO to grant your farm's Search Service account these rights.
    References

    SharePoint 2013: Add a Link to My Site Quick Launch

    $
    0
    0
    Tip

    To add a new link to your users My Site quick launch, follow these steps:
    1. Connect to the root site  of the My Site web application as the SharePoint setup administrator account (eg, spAdmin).
    2. Go: Settings > Site Settings > Look and Feel > Quick Launch.
    3. Click New Heading, and then configure as desired.
    References
    Notes
    • For my users, I added a heading link that navigates users back to their organization's home page.  I changed the order so that this link appears at the top of the quick launch list of links.
    • My 2013 farms are updated through the April 2014 CU.

    SharePoint 2013: UserProfileApplicationNotAvailableException_Logging... ProfilePropertyCache does not have...

    $
    0
    0
    Problem

    You've opened a SharePoint 2013 Management Shell as the farm setup user administrator account (eg spAdmin).  You are attempting to add, remove or get SPProfileLeader data.  You can get an instance of the service application proxy just fine; but when you try to perform a command against it, you experience the following error shown in the shell:
    Get-SPProfileLeader : UserProfileApplicationNotAvailableException_Logging ::
    UserProfileApplicationProxy.ApplicationProperties ProfilePropertyCache
    does not have 48c36bfc-c2de-4a8a-afd5-04885b11c9bb
    At line:1 char:1
    + Get-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidData: (Microsoft.Offic...CmdletGetLeader:
    SPCmdletGetLeader) [
    Get-SPProfileLeader], UserProfileApplicationNotAvailableException
    + FullyQualifiedErrorId :
    Microsoft.Office.Server.UserProfiles.PowerShell.SPCmdletGetLeader
    Solution
    1. Login to a farm server (that hosts SharePoint Server) as the farm setup user administrator account.
    2. Launch Central Administration as administrator.
    3. Go: Application Management > Service Applications > Manage service applications.
    4. Select (don't click on) your user profile service application.
    5. Up above, on the Service Applications ribbon, click the Permissions button.
    6. Add the farm setup administrator account.
    7. Enable Full Control for this account.
    8. Click OK.
    9. Close out the shell that produced the error message and open a new one as Administrator.
    10. Re-run your commands.
    References
    Notes
    • Thanks to Network Steve's post and Bram de Jager's post (referenced above) for providing the clues needed to solve this issue.  Steve suggested running the shell and commands under the farm service account to solve the problem I was experiencing.  This hinted at a permissions issue.  Bram's post was completely unrelated to the issue I was experiencing, but reminded me about how accounts are granted access to the User Profile service application.  Integrating the two discussions produced the necessary solution.
    • Traditional SharePoint Server 2013 farm; hosted on Windows Server 2012 VMs.  Hyper-V.  Patched through April 2014 CU.

    SharePoint 2013: People search relevance is not optimized when the Active Directory has errors in the manager reporting structure

    $
    0
    0
    Problem

    You find the following entry in the SharePoint 2013 Central Administration, Review problems and solutions, All Reports listing:

    TitlePeople search relevance is not optimized when the Active Directory has errors in the manager reporting structure
    Severity2 - Warning
    CategoryConfiguration
    ExplanationIn Active Directory, only company leaders should have the 'manager' property set to NULL. As a result of errors, the Active Directory can incorrectly have the 'manager' property set to NULL for other users that can cause a decrease in people search relevance. By specifying the actual leaders of the company, these inconsistencies are not taken into account and the relevance problem is corrected.
    RemedySpecify the company leaders explicitly. Use the following PowerShell commands: $upap = Get-SPServiceApplicationProxy [appid]; Add-SPProfileLeader $upap [Domain]\[UserName]. Run 'Get-SPProfileLeader $upap' to check whether the leader was successfully added. As a last step, run a full crawl on the content source containing the start address (URL) of the user profile application. For more information about this rule, see "http://go.microsoft.com/fwlink/?LinkID=248249".
    Failing Servers 
    Failing ServicesUserProfileService
    Rule SettingsView
      
    Solution
    1. Determine the company leader or leaders that you want to define.  For example, DOMAIN\Department.Head.
    2. Remote into a farm server (that hosts SharePoint Server) as the farm setup user administrator account.
    3. Grant the farm setup user administrator account full control to the User Profile Service connection.
    4. Open a SharePoint Management Shell as administrator.
    5. Get the User Profile Service application proxy ID by executing the following command:
      Get-SPServiceApplicationProxy
      This returns a list of all the application proxies (and their IDs) on your farm.
    6. Using the ID you obtained in the previous step, now get an instance of the User Profile Service application proxy by executing the following command:
      $upaProxy = Get-SPServiceApplicationProxy [YourUpsApplicationProxyID]
    7. Now add the leader or leaders by repeatedly executing the following command as needed against this instance:
      Add-SPProfileLeader -ProfileServiceApplicationProxy $upaProxy -Name "DOMAIN\Department.Head"
    8. Close the shell.
    9. Navigate to: General Application Settings > Search > Farm Search Administration > Search Service > Content Sources.
    10. Launch a full crawl of user profile content.
    11. Navigate back to the Review problems and solutions page.
    12. Re-analyze the issue.  The results should be immediate.
    References
    Notes
    • If you are working within an department that is part of a larger organization, and your farm access is limited to the department, identify the most senior leader or leaders in your department. Scope is important here.  For example, for one customer, the farm is accessible only within a specific department of the organization; and thus I configured the User Profile Service connection to only pull those user profiles from the organization's AD that are within the department.  Therefore, in this scenario, the profile leader is the head of the department, because, within the bounds of the department, the department head does not report to anyone else.
    • If you haven't done so yet, configure your User Profile Service content as a separate content source for Search purposes.  Doing so makes it more convenient to perform focus content crawls and thereby minimize impact search crawls may have on farm performance during normal business hours.

    SharePoint 2013: Insufficient SQL database permissions for user

    $
    0
    0
    Problem

    You see the following critical error in a SharePoint Server 2013 farm server hosting a Search service query processing component, occuring at about 13-hour intervals:
    Log Name:      Application
    Source: Microsoft-SharePoint Products-SharePoint Foundation
    Date: [date/time]
    Event ID: 5214
    Task Category: Database
    Level: Critical
    Keywords:
    User: [Search service account]
    Computer: [A query processing host server, eg WFE]
    Description:
    Insufficient SQL database permissions for user 'Name: [Search service
    account] SID: [SID] ImpersonationLevel: None' in database
    '[FarmConfigurationDB]' on SQL Server instance '[SQL Server Name]'.
    Additional error information from SQL Server is included below.

    The EXECUTE permission was denied on the object 'proc_GetTimerRunningJobs',
    database '[FarmConfigurationDB]', schema 'dbo'.
    Event Xml:
    ...
    Solution

    There are two ways of granting the search service account the necessary permission: Granting it the SPDataAccess role to the database or adding the WSS_Content_Application_Pools Database Role to proc_GetTimerRunningJobs and granting that role the Execute permission. Both methods are presented here.  Both approaches require that you remote into your farm's SQL Server host and launch SQL Server Management Studio.
    1. Adding the SPDataAccess role:
      1. In Object Explorer, expand the Security node, and then double-click on the search service account (eg, spSearch).  The Login Properties dialog appears.
      2. In the Select a page navigation panel, select User Mapping.
      3. In the Users mapped to this login panel, select the farm configuration database (eg, farm_Config).
      4. Enable the SPDataAccess role
      5. Click OK.
    2. Add WSS_Content_Application_Pools role to proc_GetTimerRunningJobs:
      1. In Object Explorer, expand the Databases node, and then look for the farm configuration database (eg, farm_config).
      2. Under this database node, expand Programmability> Stored Procedures.
      3. Under the Stored Procedures node, scroll down until you find dbo.proc_GetTimerRunningJobs.
      4. Right-click on this object, and then select Properties.  The Stored Procedure Properties dialog appears.
      5. In the Select a page frame, select Permissions.
      6. Click the Search button.  The Select Users or Roles dialog appears.
      7. Enter WSS_Content_Application_Pools and then click the Check Names button.  Brackets should appear around what you entered, indicating that this object name was recognized.
      8. Click OK. The Select Users or Roles dialog closes.  You will see this new role now appear under Users or roles.
      9. Select the WSS_Content_Application_Pools role.
      10. Below, in the Permissions for WSS_Content_Application_Pools panel, enable Grant for the Execute permission.
      11. Click OK.
      12. Exit SQL Server management Studio.
    References
    1. Event ID 5214 (Windows SharePoint Services health model)
    2. Insufficient SQL Server database permissions - Event 5214 (SharePoint 2010 Products)
    3. Search account got - Insufficient sql database permissions for user. EXECUTE permission was denied on the object proc_Gettimerrunningjobs
    4. EXECUTE permission denied on SharePoint Config DB
    5. My Sites and The SPDataAccess SQL Role
    6. Account permissions and security settings in SharePoint 2013
    Notes
    • It's unclear to me at this point, which method (1 or 2) is better.  Reading reference [3] would seem to indicate to indicate the second method.  But reference [5] raises an intriguing alternative.  More generally, it's unclear from existing Microsoft documentation (namely, reference [6]), what role the search service account should have with respect to the farm configuration database and the proc_GetTimerRunningJobs stored procedure specifically.  Clarification from Microsoft on what it intended here would be helpful.

    SharePoint 2013 Deployment: How to Configure Cache

    $
    0
    0
    Introduction
    SharePoint 2013 Deployment Series
    How to setup a database server alias
    How to configure Cache
    How to deploy a search service application using PowerShell
    This posting walks you through the steps necessary for configuring your SharePoint 2013 farm's caching functions, including: object cache, disk-based (BLOB) cache, and the new (AppFabric) distributed cache.  This posting assumes a traditional SharePoint farm three-tiered topology, where the application server(s) host most services, as well as the farm's CA web application, and the WFEs host primarily the customer-facing web applications and the search query and indexing services.

    Preparation
    1. Use only the SharePoint Setup/Administration account when remoting into any SharePoint server to make modifications and configurations.
    2. Verify that the SharePoint Setup/Administration account is a member of the Administrators group on each server.
    3. Verify that the account that you want to use to run the distributed cache service is a member of the Administrators group on each server running SharePoint Server 2013.
    4. Identify domain accounts that you want to use as the Object cache Reader and User accounts (eg, spSuperR, spSuperU).
    5. If you are using HOST files to configure external or internal (or both) static routing amongst your farm servers, check the HOST file on each of the farm servers and verify that the host names in the file are fully qualified.  Otherwise, you may see error event IDs 1000 and 1026 appearing in the application event log of the server hosting the AppFabric service.

    Procedure
    1. Configure Object Cache
      1. Add Object Cache Accounts
        1. Reference: Configure object cache user accounts in SharePoint Server 2013
        2. Remote into the application server under the SharePoint setup Administration account.
        3. Go to: Central Administration > Application Management > Manage Web Applications.
        4. Select a web application.
        5. From the ribbon, click User Policy.
        6. Click Add Users.
        7. Leave the zone default as All zones, and then click Next.
        8. In the Choose Users section, add the account that you want to use as the Object Cache Reader.
        9. In the Choose Permissions section, check Enable Read - Has full read-only access.
        10. Click Finish.
        11. Click Add Users again.
        12. Leave the zone default as All zones, and then click Next.
        13. In the Choose Users section, add the account that you want to use as the Object Cache User.
        14. In the Choose Permissions section, check Full Control - Has full control.
        15. Click Finish.
      2. Add Object Cache Account Claims User Names [see note]
        1. Open a SharePoint Management Shell as administrator
        2. Execute the following script:

          $wa = Get-SPWebApplication -Identity "<webapplication>"
          $wa.Properties["portalsuperuseraccount"] = "i:0#.w|Domain\spSuperU"
          $wa.Properties["portalsuperreaderaccount"] = "i:0#.w|Domain\spSuperR"
          $wa.Update()

        3. Execute IISReset on all machines.
      3. Configure Disk-based Cache Settings
        1. Reference: Configure BLOB cache settings
        2. The following steps must be performed on each WFE.
        3. Remote into the WFE under the SharePoint Administrator account.
        4. Go to: C:\inetpub\wwwroot\wss\VirtualDirectories\.
        5. Look for the folder corresponding to your web application and open it.
        6. Look for the file Web.Config.
        7. Open this file in any text editor.
        8. In this file, look for the XML tag, <BlobCache...
        9. Look for these attributes of this tag:
          1. location
          2. enabled
        10. Change the location attribute to whatever is appropriate to your system. 
          Best Practice is to point it to another drive on the WFE so that its write operations do not impact the system drive write operations.
        11. Change the enabled attribute to true.
        12. Save the file.
        13. Repeat for each WFE.
    2. Remove Unnecessary Cache Host
      1. Check AppFabric Status
        1. References: Cache Administration with Windows PowerShell (Windows Server AppFabric Caching) , SharePoint 2013 + Distributed Cache (AppFabric) Troubleshooting
        2. Remote into the application server as the SharePoint setup user administrator account.
        3. Launch the SharePoint Management Shell as administrator.
        4. Run the following script:

          Get-SPServiceInstance | ? {($_.service.tostring()) -eq "SPDistributedCacheService Name=AppFabricCachingService"} | select Server, Status

          This returns a list of your hosts and their network status. You want them all to be online.
        5. In the same shell, run the next script:
          Use-CacheCluster
          Get-CacheHost
          This returns the AppFabricCacheService status on each host. They should all be UP.
        6. If these are not UP, the removal will fail.
      2. Remove the host
        1. References: Manage the Distributed Cache service in SharePoint Server 2013, SharePoint 2013: Distributed Cache (AppFabrikCache) part 2/2
        2. Remote into the application server as the SharePoint setup user administrator account.
        3. Launch the SharePoint Management Shell as administrator.
        4. Run the following script:

          $instanceName = “SPDistributedCacheService Name = AppFabricCachingService”
          $serviceInstance = Get-SPServiceInstance | ? {( $_.service.tostring()) –eq $instanceName –and ($_.server.name) –eq $env:computername
          $serviceInstance.UnProvision()
          Remove-SPDistributedCacheServiceInstance

    3. Change Distributed Cache Service Account
      1. Reference: Manage the Distributed Cache service in SharePoint Server 2013: Change the service account, Changing the Distributed Cache Service Account
      2. Remote into the application server as the SharePoint setup user administrator account.
      3. Launch the SharePoint Management Shell as administrator.
      4. Run the following script:

        $Farm = Get-SPFarm
        $CacheService = $Farm.Services | Where {$_.Name -eq "AppFabricCachingService"}
        $Account = Get-SPManagedAccount -Identity "Domain\ServiceAccountNamer"
        $CacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
        $CacheService.ProcessIdentity.ManagedAccount = $Account
        $CacheService.ProcessIdentity.Update()

      Reference
      Notes
      • If you implement claims-based authentication, you must add the cache account claims user names to each web application's User Policy.  You do this using PowerShell, and you must use the claims user name format as shown.
      • By default, the distributed cache service is installed on each server to which you installed and configured SharePoint Server 2013.  Thus, if you installed SharePoint Server 2013 first to an application server, this server will be the first to host a cache service instance.  Now, if you are deploying a traditional topology (application server running most services and the CA web application and customer websites running on two or more WFEs), it is unnecessary to run the distributed cache service on the application server as it performs no useful customer function.  Therefore, it can be safely removed from the application server(s) if you want to.  If you are deploying SharePoint Server 2013 to more than three servers, you will definitely need to remove it from at least one of these.
      • It isn't absolutely necessary to remove the distributed cache running an application server.  It will not adversely impact farm operation leaving it there.

      SharePoint 2013: App Management Shared Service Proxy is not installed

      $
      0
      0
      Problem

      Users report the following error message when trying to publish their 2013 workflows:
      Errors were found when compiling the workflow.  The workflow files were saved but cannot be run.
      Microsoft.SharePoint.SPException: App Management Shared Service Proxy is not installed.
         at Microsoft.SharePoint.AppRegistration.GetProxy(SPServiceContext serviceContext)
         at Microsoft.SharePoint.AppRegistration.AddOrUpdateAppNoPermissionCheck(SPAppPrincipalInfo appInfo)
         at Microsoft.SharePoint.SPAppPrincipalManager.RegisterWithInternalDirectory(SPAppPrincipalIdentityProvider identityProvider, String nameIdentifier, String displayName, List`1 appEndpointAuthorities, List`1 redirectAddr


      Solution
      1. Remote into a SharePoint 2013 farm server using the Administation user setup account.
      2. Launch Central Administration
      3. Navigate to: Application Management > Service Applications > Manage service applications.
      4. On the Service Applications ribbon, click the New button, and then select App Management Service.
      5. Enter configuration information as appropriate.  This is your opportunity to create a simple database name, rather than have one with a long GUID.
        1. This service can use an existing application pool just fine.  I recommend using your farm's general application services app pool.
      6. Click OK.  It takes 1 - 2 minutes for the new service application to be created.  On completion, the page will refresh, and you will see it listed at the top as started.  Though the service application and service application proxy are started, the App Management service itself must still be started.
      7. Navigate to: Application Management > Service Applications > Manage services on server.  Start the service.
      References
      Notes
      • See the references for details on doing all of this via PowerShell.
      • The App Management service only needs to run on one farm server.   Microsoft does not provide a recommendation on which farm server(s) should run this service.  I recommend starting it on one of your farm's application (or "batch") servers. Having it run on just one server is all that's necessaryto enable users to publish their 2013 workflows. 

      SharePoint 2013: The option for the SharePoint 2013 Workflow platform is not available

      $
      0
      0
      Problem

      I administer a SharePoint 2013 farm.  I had a user who wished to create a workflow using the new SharePoint 2013 Workflow platform.  When the user connected to a website on the farm, using Designer 2013, and then launched the Create workflow process for a list, the following message was displayed in the Create dialog:
      The option for the SharePoint 2013 Workflow platform is not available because the workflow service is not configured on the server.  Please contact your server administrator.
      This message seemed odd since I knew I had installed the Workflow Manager 1.0 on the application server just fine.  I begen troubleshooting.

      Troubleshooting
      1. Check software installation:
        1. Workflow Manager 1.0 installed to application server.
        2. Workflow Manager Client 1.0 installed to all SharePoint servers in farm.
      2. Check workflow services are running.
        1. These should be running on the application server hosting Workflow Manager.
        2. The following services were verified as being started:
          1. Service Bus Gateway
          2. Service Bus Message Broker
          3. Windows Fabric Host Service
          4. Workflow Manager Backend
      3. Check the Workflow Service Application Proxy was started and connected.
      4. Check that the workflow service was registered for HTTP and a valid URL existed (Get-SPWorkflowServiceApplicationProxy).
      5. Check that the Workflow Management Site is started  and correctly served the service configuration schema (h-t-t-p://AppServer:12291).
      6. Check that the Workflow Management Application Pool was started.
      7. Check that web front end reboot after workflow manager client installation.
      Solution
      1. Install the Workflow Manager Client on all web front end servers.
      2. Reboot each server after installation.
      References

      SharePoint 2013: Moving Lists using the Site Content and Structure Tool

      $
      0
      0
      Introduction

      The Site Content and Structure tool presents a tree navigational structure to all farm objects.  It's made available, after activating the Publishing feature. Using this tool, the administrator can copy, move, add and delete objects within a farm site collection.  It's also handy if you need to migrate a smaller list from on site to another, within a site collection, since it can do this whilst preserving critical security data, such as the identities of those who made changes to a list item. By "small" I mean around 5000 or less. However, there are a few caveats you might not be aware of when using this tool that can adversely impact the migration in unusual ways. These involve: how to copy entire lists and libraries and preserving ID for each moved or copied item.

      Copying Entire Lists and Libraries

      To begin with, Site Content and Structure cannot copy or move entire lists and libraries - when selected at that list or library object level.  By this I mean that if you select a site in the left tree view pane, and then select the list or library in the right results pane, the Copy and Move options are not available to you from the Actions dropdown.  On the other hand, you can move the entire list or library, if you go about this by selecting the list or library contents, and then selecting Copy or Move.  Here's how to do this:
      1. Connect to the site collection as farm administrator (eg, spAdmin).
      2. Navigate to the target list of library.
      3. Click the LIST tab, and then click List Settings.
      4. Under Permissions Management group, click Save list as template.
      5. Enter information as desired, but be sure NOT to enable the Include Content option.
      6. Click OK.  This saves the list or library as a template to the site collection's Template Gallery from whence you can create new instances of this list or library anywhere else in the site collection.
      7. From the Settings menu, select Site Settings.
      8. On the Site Settings page, look under Site Administration, and then click Content andstructure.
      9. In the left tree view pane, open the tree to the desired list or library, and then click this list or library.
      10. In the right pane, increase the list item count sufficiently to include either all of the list items you want migrate or at least to limit the number of times you need to perform this operation.
      11. From the Actions dropdown, select Copy.  You could select Move, but I like to be on the safe side and only delete a source item if I am absolutely sure it is safe to do so.
      12. Navigate to the next 100, 500 or 1000 and repeat.
      Preserving List or Library Item ID

      If you use the method above to migrate list or library items, and you need to preserve existing item IDs, you must perform the migration correctly each time, one time and without mistakes.  Let me explain.

      Let's say you had 100 items in a list.  You want to migrate these to an archive.  You migrate 10 of these over to your archive list.  You check and observe that these ten items in the archive have the same IDs as their counterparts in the live list.  You then migrate another ten, but then realize, after migrating these that you made a mistake and selected the wrong ten.  You then delete these mistaken ten items from the archive.  At this point, your archive list contains the first ten that you migrated over.  Now, you go back to the source list and migrate the next ten over, this time correctly selecting them.  Once the migration completes, you check the IDs of all of the items in the archive and note a curious finding: of the ten new items that you just now migrated to the archive some have IDs that are incremented by 10 from their original values.  So you delete these and again perform the migration.  Now, some of these newly added ten items have IDs that are incremented by 20 from their original values and some by 10.  Do you see what is happening here?  Once an ID is used in a list or library, that's it: it isn't used again.  The more you try to correct this, the more complex become the ID assignments.

      Thus, in using the above method, note that it does get the job done without having to purchase a dedicated list migration tool when migrating small lists.  However, when using it, one has to perform the migration correctly.  If any mistakes are made, it's best to delete the destination list or table, recreate it, and start all over again.

      References
      Viewing all 388 articles
      Browse latest View live


      <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>