#ProjectServer 2010 Global Permissions access to PWA Site Actions menu items #PS2010 #SP2010 #MSProject

May 31, 2012 at 7:50 pm | Posted in Administration, Configuration, Information | 2 Comments
Tags: , , , ,

A question came up on the Project Server forums recently regarding access to the Site Actions menu and what permissions give users access to what items on the Site Actions menu. Below I have listed the Project Server global permissions and the Site Actions menu items that are available when the permissions are allowed.

  • Log on
    • Allows access to the following Site Actions menu items:
    • Sync to SharePoint Workspace
    • View All Site Content
  • Log on + Manage Lists in Project Web App
    • Allows access to the following Site Actions menu items:
    • Edit Page
    • Sync to SharePoint Workspace
    • New Document Library
    • More Options
    • View All Site Content
    • Edit in SharePoint Designer
    • Site Settings
  • Log on + Manage Lists in Project Web App + Manage SharePoint Foundation
    • Allows access to the following Site Actions menu items:
    • Edit Page
    • Sync to SharePoint Workspace
    • New Document Library
    • New Site
    • More Options
    • View All Site Content
    • Edit in SharePoint Designer
    • Site Permissions
    • Site Settings

Hope that is useful for others who need to quickly know this information.

Updated Publish all Projects in #ProjectServer using #PowerShell #MSProject #PS2010 #SP2010 #PS2013

May 31, 2012 at 11:48 am | Posted in Administration, Functionality, PowerShell, PSI | 4 Comments
Tags: , , , ,

I have been meaning to update the publish all script for a while now but only just got a chance to post the updated script here and also published it to the script center.

The publish all script from my earlier blog post works fine until you have a project that exists in the Archive database and not the Draft database (working store). An error will appear in the Project Server queue similar to this:

ProjectPublish.VerifyWorkingProjectExistsMessage

As the original script uses the ReadProjectList method, it is not possible to specify the data store. The new script uses the ReadProjectStatus method as this allows you to specify the data store.

The updated line can bee seen below, to access the full script please visit the script center:

$ProjectList = $svcPSProxy.ReadProjectStatus(“$EPMTYGUID”,”WorkingStore”,””, “0”).Project | format-table proj_uid -hidetableheaders | out-string –stream

Full script available below:

http://gallery.technet.microsoft.com/scriptcenter/Server-2010-Publish-all-45ba385b

****Update – this also works for Project Server 2013****

The script will need to be updated for the correct PWA URL as shown below. The script has my test PWA instance URL as highlighted below:

New-WebServiceProxy -uri “http://vm353/pwatest/_vti_bin/PSI/Project.asmx?wsdl” –useDefaultCredential

The strikethrough text will need to be updated with the correct URL for your environment.

This script can be run on demand or scheduled. To schedule this to run on a nightly / weekly basis use the Windows Task Scheduler. Create a new batch file to execute the PowerShell script from the scheduled task. An example of the command need in the batch file can be seen below:

“%SYSTEMROOT%\system32\windowspowershell\v1.0\powershell.exe” -command “& ‘C:\PublishAllProjects.ps1′”

Set the scheduled task to run under the PWA administrator account to publish all projects.

#ProjectServer and #SharePoint 2010 April 2012 Cumulative Update #PS2010 #SP2010 recalled

May 25, 2012 at 11:07 am | Posted in Administration, CU, Issue | Leave a comment
Tags: , , , ,

************************************************

Update: 14/06/2012 – The April 2012 CU Server Packages are now available again – http://blogs.msdn.com/b/alimaz/archive/2012/06/14/sharepoint-server-2010-june-2012-cumulative-update-package-is-available-now.aspx

************************************************

The Project Server 2010 Server Package and SharePoint 2010 Server Package for April 2012 CU has been recalled and removed from the download servers:

http://support.microsoft.com/kb/2598152 (Project Server 2010 Server Package)

http://support.microsoft.com/kb/2598151 (SharePoint Server 2010 Server Package)

Notice

This hotfix package is no longer available due to a technical problem.

Check #MSProject version number on remote machines using #PowerShell #ProjectServer #PS2010 #Office

May 14, 2012 at 8:09 pm | Posted in Administration, CU, Information, Installation, PowerShell, Service Pack | Leave a comment
Tags: , ,

Below are two examples of PowerShell scripts to check the Project Professional 2010 version on remote machines. Ultimately the best solution would be to use Microsoft System Centre Configuration Manager to manage software updates. It is key that all Project Professional clients have the same version, especially if connecting to Project Server. Having all Project Professional clients at the same patch level will help with the stability of your EPM farm.

The two PowerShell scripts below give the same results but I wanted to include both as these are only examples of what is possible. Both scripts read the client machines from a text file. Add all of the client machines that have Project Profession installed into the text file as seen below:

image

The first simple version just checks the product version from the file system on the client machine using a UNC path location:

$pcs = Get-Content "C:\pcs.txt"
foreach($pc in $pcs)
{
$proj = (Get-Command "\\$pc\C$\Program Files (x86)\Microsoft Office\Office14\WINPROJ.exe").FileVersionInfo.Productversion
Write-host "$pc has the following version of Project Professional:" $Proj
}

The second option is slightly more complex and automates Project Professional and gets version from the build property:

$pcs = Get-Content "C:\pcs.txt"
foreach($pc in $pcs)
{
$session = New-PSSession -Name $pc1 -ComputerName $pc
Write-host $pc -NONEWLINE
Invoke-Command -Session $session -ScriptBlock {
$Proj = new-object -comobject msproject.application
Write-host " has the following version of Project Professional:" $Proj.Build
$Proj.quit | out-null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Proj) |out-null
Exit
remove-PSSession -Session $session}
}

The second option will require the remote machines to be configured for PowerShell remoting:

http://technet.microsoft.com/en-us/library/dd819498.aspx

Both scripts should be run with an account that has admin access (domain admin) on all client machines.

An example output for both scripts can be seen below. Please note, the scripts were only run against one machine, if you have multiple client machines each one will appear on a new line:

image

#ProjectServer 2010 new Portfolio Analysis error #PS2010 #SP2010 #MSProject

May 9, 2012 at 11:39 am | Posted in Administration, Fixes, Issue, T-SQL | Leave a comment
Tags: , ,

I recently came across an issue on a client site and on the Project Server forums with creating a new Portfolio Analysis, clicking the new button threw the error below:

clip_image001

In the ULS logs the following lines were key to resolving the issue:

Exception occurred in method Microsoft.Office.Project.Server.BusinessLayer.LookupTable.ReadLookupTablesMultiLang System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.     at System.Data.DataSet.EnableConstraints()     at System.Data.DataSet.set_EnforceConstraints(Boolean value)     at Microsoft.Office.Project.Server.DataAccessLayer.DAL.SubDal.FillTypedDataSet(Boolean allowCache, DataSet typedDataSet, String[] tables, SqlCommand sqlCommand, Boolean enforceConstraints)     at Microsoft.Office.Project.Server.DataAccessLayer.LookupTableDal.ReadLookupTables()     at Microsoft.Office.Project.Server.BusinessLayer.LookupTable.ReadLookupTablesMultiLang(String xmlFilter, Boolean autoCheckOut)     at Microsoft.Office.Project.Server.Wcf.Implementation.LookupTableImpl.ReadLookupTablesMultiLang

System.Web.Services.Protocols.SoapException: ProjectServerError(s) LastError=GeneralUnhandledException Instructions: Pass this into PSClientError constructore to access all error information     at Microsoft.Office.Project.Server.WebServiceProxy.LookupTable.ReadLookupTablesMultiLang(String xmlFilter, Boolean autoCheckOut)     at Microsoft.Office.Project.PWA.ApplicationPages.OptimizerCreateAnalysisPage.FillForcedLookupTables()     at Microsoft.Office.Project.PWA.ApplicationPages.OptimizerCreateAnalysisPage.FillControls()     at Microsoft.Office.Project.PWA.ApplicationPages.OptimizerCreateAnalysisPage.PJWebPage_OnLoad(EventArgs e)     at Microsoft.Office.Project.PWA.PJWebPage.OnLoad(EventArgs e)     at System.Web.UI.Control.LoadRecursive()     at System.Web.UI.Page.ProcessRequestMain(Boolea…     e5a9e8ca-2a63-494a-a996-bb6c5704171a
05/09/2012 09:24:26.03*        w3wp.exe (0x2028)                          0x0190       Project Server                        Project Web App                       2q1k  Exception   …n includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 

This system was originally migrated from Project Server 2003, to Project Server 2007 then to Project Server 2010. During the migration from Project Server 2003 to Project Server 2007 there was an issue updating the multi language lookup tables, the fix is very simple and documented here:

http://technet.microsoft.com/en-us/library/cc197573(v=office.12).aspx#section9

Hopefully that will help others who come across this issue.

Blog at WordPress.com.
Entries and comments feeds.