Below is a script which will publish all projects in Project Server 2010. I have found this useful in the past, and it can save alot of time if you need to perform such an activity;
$svcPSProxy = New-WebServiceProxy -uri “http://ps2010demo/pwa/_vti_bin/PSI/Project.asmx?wsdl” -useDefaultCredential
$EPMTYGUID = [system.guid]::empty
$ProjectList = $svcPSProxy.ReadProjectStatus(“$EPMTYGUID”,”WorkingStore”,””, “0”).Project | format-table proj_uid -hidetableheaders | out-string -stream
foreach ($projectUid in $projectList)
if ($projectUid -ne “”)
$G = [System.Guid]::NewGuid()
$svcPSProxy.QueuePublish(“$G”, $projectUid, “true”,””)}}
Remember to change the root part of the URL to suit! You may also need to edit the ” ” signs as well.
Any questions feel free to comment.