Test-SPProjectServiceApplication

This cmdlet runs a series of health checks against the Project Service Application.

Syntax

Test-SPProjectServiceApplication
    [-Identity] <PsiServiceApplicationPipeBind>
    [[-Rule] <ProjectServiceApplicationHealthRuleName>]
    [-AssignmentCollection <SPAssignmentCollection>]
    [<CommonParameters>]

Description

This cmdlet runs a series of health checks against the Project Service Application.

Examples

---------------EXAMPLE--------------

$sa = Get-SPServiceApplication | ?{$_.TypeName -eq 'Project Application Services'}
Test-SPProjectServiceApplication -Identity $sa

This example runs all health checks again the service application named "Project Service Application."

Parameters

-AssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Type:SPAssignmentCollection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-Identity

The name of the Project Service Application to test against.

Type:PsiServiceApplicationPipeBind
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-Rule

Which rule to run against the service application.

Valid rules are:

All, CalcServiceWorkerState, QueueInFlightJobs, QueueServiceInternalState

Project Server 2013 has this additional rule which is not available in Project Server 2016, Project Server 2019:

QueueSiteCheck

Project Server 2016, Project Server 2019 added this additional rule:

DatabasePermissions

Type:ProjectServiceApplicationHealthRuleName
Accepted values:All, QueueServiceInternalState, QueueInFlightJobs, CalcServiceWorkerState, DatabasePermissions
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

Inputs

Microsoft.Office.Project.Server.Cmdlet.PsiServiceApplicationPipeBind

Microsoft.Office.Project.Server.HealthRules.ProjectServiceApplicationHealthRuleName Microsoft.SharePoint.PowerShell.SPAssignmentCollection

Outputs

System.Object