Skip to main content

Powershell procedures/cmdlets - MS Project client/Project Server

Powershell is becoming part of any IT-Administrator inventory. If you worked with Project Server 2013 or SharePoint 2013 you are properly avare of many of the many cmdlets available.


Project Server - Powershell cmdlets

For a list of the Project Server cmdlets see this Technet article: http://technet.microsoft.com/en-us/library/ee890097(v=office.15).aspx


MS Project - Powershell cmdlets

Untill recently I was not aware you can access the MS Project client though Powershell. There is actally quite a big API available as you are simply attaching into the VBA/VSTO API.
To connect to the MS Project client simply start up the Powershell ISE and use the following command.
 $Project = New-Object -ComObject msproject.application  

After you are connected the commands are very similar to the VBA counterpart, if you for example want to find the name of all the tasks.
 $Project.Visible = $True  
 $tsks = $Project.ActiveProject.Tasks  
 Foreach ($tsk in $tsks)  
 {  
   Write-Host $tsk.Name  
 }  

Or if you want to open and edit the enterprise calendar.
 $cal_guid = [GUID]"32E5163F-8F5C-472E-9497-F905B3A81E2D"  
 $Project.EditEnterpriseCalendar($cal_guid)  

Basically any VBA call can be migrated into Powershell, see this site for great VBA axamples.

General Powershell Problems

If you get the following error:
 file.ps1 cannot be loaded because the execution of scripts is disabled on this system  
Use the following command to allow the execution policy:
 set-executionpolicy unrestricted  
Note: the above command migth result in the following error:
 set-executionpolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied. To chang  
 e the execution policy for the default (LocalMachine) scope, start Windows PowerShell with the "Run as administrator" option. To change the execution p  
 olicy for the current user, run "Set-ExecutionPolicy -Scope CurrentUser".  
 At line:1 char:1  
 + set-executionpolicy unrestricted  
 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
   + CategoryInfo     : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException  
   + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand  
In this case it can be resolved by adding you account to the permission in a regestry key.
- Click start and run: regedt32
- Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell
- Right-Click the key and select Permissions 
- Select, and add your account, 
- Grant it "Full Control" privileges


Comments

Popular posts from this blog

Sharepoint 2013 - Fullscreen mode/hide quick launch

If you want to hide the quick launch on a SharePoint page or web part page in 2013 you could of cause use CSS scripts as in 2010.
But as a new thing in 2013 the user have the possibility to click on full screen mode. so why not load your page in this mode and then the user can choose to exit the mode if he prefers.

Add a content editor webpart to your page and click on Edit HTML from the ribbon.
Add the following code:

<script type="text/javascript">
window.onload = function()
{
  SetFullScreenMode(true);
}
</script>

Reporting on Microsoft Planner or Microsoft Staffhub!

Reporting on Planner or StaffHub!


For a long time I have been waiting for the reporting API for Planner and Staffhub. Today I got tired of waiting and found another way to do it.

I manage to create a PowerBI report based on all the planner plans I have access to and the same method will work for Staffhub and properly many other services such as Microsoft Tasks, Microsoft Forms, etc. 


How?Easy, but requires some Azure, Flow and PowerBI knowledge. These are the steps to I used: 1.Create an Azure Blob to hold the data 2.Create a Flow to save Planner data in the Blob 3.Access the Blob from PowerBI Azure – Blob!So first, lets create a Blob. No, not that kind of Blob. Access the Azure portal - https://portal.azure.com/ Select New and search for “storage account” Fill out the form and click create. I kept all settings to their default Access the new storage and locate/copy the Storage Account Name and Access Key – you will need this for connections to Flow and PowerBI. Next let’s create a Blob Container an…

SharePoint/Project Server - Firewall port open list

Firewall port open list Every time I have to install a new instance of Project Server I forget which ports have to be open.
The ports are divided into 3 lists, one list for the web front end servers, one list for the application server and one list for the SQL server.
These ports are based on a 2013 installation of SharePoint/Project Server. the 2010 installation defer a little bit.


Web Frontend ServerWhen a range is specified all ports between the range must be opened.
     Port(s)ProtocolBoundDescription
-80 TCPInhttp
-443 TCPInhttps/ssl
-25 TCPInSMTP for e-mail integration
-16500-16519TCPInPorts used by the search index component
-22233-22236TCPIn/OutPorts required for the AppFabric Caching Service
-32843-32845TCPInCommunication between Web servers and service applications
-32846TCPIn/OutSharePoint User Code Service
-808-809TCPInOffice Web Apps
-5725TCP