#Microsoft #Ignite Day 2 summary #Azure #Office365 #MSIgnite #Microsoft365

October 5, 2017 at 6:39 pm | Posted in Functionality, Information | Leave a comment
Tags: , , ,

******************** This is a guest blog post by Lee Mather ********************

Day Two

After recharging the batteries, we had another early start for day and had as many sessions packed in as possible. I will try to provide a summary of key takeaways for each session. Please let me know if you would like any further detail as I’m happy to discuss.

Session 1: Overview: Modern Windows 10 and Office ProPlus management with Enterprise Mobility + Security

This session focused on moving to a modern management for Windows and went into more detail than the session I attended on day 1. The main highlights were:

· Simplify deployment and device management with Intune and Windows Autopilot. Microsoft’s vision is for laptops and PCs to be as easy to setup as mobile phones. Microsoft 365 powered devices will benefit from the following

o Intelligent Security

o Easy deployment

o Always up to date

o Proactive insights with Windows Analytics

clip_image002

· A couple of slides which highlight the difference between traditional IT and modern IT

clip_image004

clip_image006

· There are a few paths to transition to modern management which has been expanded by the introduction of co-management. Co-management should be released by the end of the 2017 calendar year

clip_image008

Session 2: Simplify hybrid cloud protection with Microsoft Azure Security Centre

The second session of the day focused on hybrid cloud protection with Microsoft Azure Security Centre. As I mentioned this in the summary of day one, I will only highlight the features.

· Hybrid Cloud Support – This allows a unified security centre for Azure workloads as well as workloads running on-premises and in other clouds. Additional information can be found here https://azure.microsoft.com/en-us/blog/azure-security-center-extends-advanced-threat-protection-to-hybrid-cloud-workloads/

· Just In Time Access – This allows administrators to lock down ports such as RDP and to allow access when required. Additional information can be found here https://docs.microsoft.com/en-us/azure/security-center/security-center-just-in-time

· Adaptive Application Controls – This allows you to define a set of applications which can run on your VMs which helps in the fight against malware. Additional information can be found here https://docs.microsoft.com/en-us/azure/security-center/security-center-adaptive-application

· Azure Security Centre will soon include Windows Defender ATP detections. Additional information can be found here https://azure.microsoft.com/en-us/blog/azure-security-center-extends-advanced-threat-protection-to-hybrid-cloud-workloads/

· An interactive threat intelligence map has been added to the Azure Security Centre for visualisations. Additional information can be found here https://docs.microsoft.com/en-us/azure/security-center/security-center-threat-intel

· An investigation dashboard is currently in preview which will correlate all relevant data with any involved entities. You will be able to navigate between entities by clicking through the graph and providing information. Additional information is available here https://docs.microsoft.com/en-us/azure/security-center/security-center-investigation

Session 3: What’s new with Microsoft Exchange Online Public Folders

This was a 30-minute session to highlight some of the new features in Exchange Online Public folders. The main takeaway for me was the migration of public folders to Office 365 Groups. This migration approach is supported for Exchange 2010, 2013, 2016 and Exchange Online. Additional information can be found here https://blogs.technet.microsoft.com/exchange/2017/09/25/migrate-your-public-folders-to-office-365-groups/

Session 4: Office 365 Security and Compliance Overview

The session focused on the following key areas of Office 365 security:

· Threat Protection

· Information Protection

· Security Management

· Compliance Management

clip_image010

The main takeaways and areas of interest for this session were:

· ATP has expanded to SharePoint, OneDrive for Business and Microsoft Teams

clip_image012

clip_image014

· Safe Links will now show the original URL when a user hovers over the link

· Safe Links will now apply to internal and external email

· Safe Attachments now have a preview feature enabled to allow a user to view a document online whilst it’s being scanned. Scanning time has also been greatly reduced over the last year

· SharePoint malware will be reported in the Threat Management portal

· New updates being rolled out to Office 365 Threat Intelligence

o Threat Tracker

o Threat Explorer

o Remediation capabilities

o Attack Simulator – Admins will have the ability to simulate different threat scenarios to gain an understanding of how users behave in the event of a real attack

clip_image016

clip_image018

· Single interface for creating protection labels is on the way

clip_image020

· New reporting capabilities being rolled out to the Office 365 Security and Compliance Centre

· New Compliance Manager should be in Public preview later this year. Additional information can be found here https://techcommunity.microsoft.com/t5/Security-Privacy-and-Compliance/Manage-Your-Compliance-from-One-Place-Announcing-Compliance/ba-p/106493

clip_image022

Additional information can be found here: https://techcommunity.microsoft.com/t5/Security-Privacy-and-Compliance/Bringing-deeper-integration-and-new-capabilities-to-Office-365/ba-p/109409

Session 5: Learn about the Microsoft global network and best practices for optimizing Office 365 connectivity

This was a great session that looked at the Microsoft network and as the title suggests, provided best practise tips. The main takeaways for the sessions were as follows:

· Avoid proxy servers when connecting to Office 365

· Review Office 365 IPs regularly and update firewalls if required

· Ensure your traffic is routing to the Microsoft network in as few hops as possible

clip_image024

· Network performance requirements for Skype for Business and how to test your network using the Skype for Business tool – https://www.microsoft.com/en-us/download/details.aspx?id=53885

clip_image026

clip_image028

· Skype for Business is the most sensitive to network performance and requires additional ports for best user experience

clip_image030

· Some interesting facts regarding the Microsoft network

clip_image032

Session 6: Yammer’s roadmap for enhanced integration, security and compliance

This was a breakout session that only last 45 minutes. The main takeaways were:

· Local data residency preview Q4 2017

o Existing customer H2 2018

· GDPR compliance by Q1 2018

· Yammer will soon be added to eDiscovery in the Office 365 Security and Compliance Centre

· DLP policy tips will be rolling out to Yammer in 2018

· SharePoint Group integration

clip_image034

That concluded another busy day at Ignite!

Advertisements

#Microsoft #Ignite Day 1 summary #Azure #Office365 #MSIgnite #Microsoft365

October 5, 2017 at 6:18 pm | Posted in Functionality, Information | Leave a comment
Tags: , , ,

******************** This is a guest blog post by Lee Mather ********************

So, after an eventful week in Orlando at Microsoft Ignite I thought I would share with you a summary of my first day! With over 26,000 attendees it was always going to be a busy event with lots going on, we would need a team here to take in all of the information being presented to us. I am hoping to have a chance to share the other days ASAP.

Day One

During the first day I attended several sessions and would like to share the following takeaways.

Keynote

The mission statement from Microsoft is to “Empower every person and every organisation to achieve more

clip_image002

The keynote focused on digital transformation which is aligned to the four key areas below:

· Modern Workplace

· Business Applications

· Application & Infrastructure

· Data & AI

clip_image004

Following on from the keynote session, I had a day packed of sessions mainly focusing on creating a modern workplace.

Session 1: Create a modern workplace with Microsoft 365

The session focused on the following key areas:

· Flexibility to work on any device, anywhere

· Improvements to Office application including PowerPoint Designer using AI.

· Teamwork

o Microsoft Teams will be the hub for teamwork including chat, calls and meetings.

o Microsoft Teams will replace the Skype for Business client over the next year

Other worthwhile mentions from the session included Cortana Calendars. Cortana Calendars is a new feature that is currently in “Exclusive” preview but essentially this service will help intelligently schedule meetings on your behalf, simply by adding Cortana in the CC field. The service will support Office 365, Outlook.com or Google calendar. Additional information can be found here https://calendar.help/

“With the speed of artificial intelligence and the personal touch of a human assistant, Calendar.help takes care of business.”

The session also focused on the modern device management and deployment. Windows Autopilot will allow new device deployment in a few simple steps, straight from the vendor to your desk without involving IT. Working with Windows Autopilot and a device management solution such as Intune, the device will be deployed, Azure AD joined or Offline domain join to Active Directory, configured with all policies defined by IT and app deployment. More on this over the coming days.

Device Co-Management was also announced as a new feature, this is the “Hybrid” device management that will support a transition from System Centre Configuration Manager (SCCM) to Intune. Co-Management will allow a device to be managed by both SCCM and Intune allowing a gradual migration to modern management whilst supporting legacy devices and applications.

clip_image006

Finally, a couple of new offerings from Microsoft, Microsoft 365 Education and Microsoft 365 F1. Additional details can be found here https://products.office.com/en-gb/business/office-365-f1 and https://products.office.com/en-gb/academic/compare-office-365-education-plans

Session 2: Use MDM migration tools to accelerate move from GPO to MDM

This session focused on accelerating a move to MDM and moving away from GPO to MDM policies. GPO has been around for years with many legacy policies in the workplace that may or may not be required today. Microsoft are continually releasing new device configuration policies to Intune. To support the migration away from GPO to MDM, the following PowerShell script can be executed that will output a report. https://github.com/WindowsDeviceManagement/MMAT

The tool is being regularly updated to align with new features available in Intune.

clip_image008

Session 3: Cloud infrastructure: Enabling new possibilities together

The Cloud Infrastructure session focused on using Azure for all workloads, big and small.

clip_image010

The session explained how you can setup a SAP HANA platform in minutes using Azure instead of weeks using on-premises hardware. Microsoft are continually providing more options for scaling in Azure, currently offering up to 20TB RAM for large SAP HANA deployments.

clip_image012

It was also recommended to use the DevTest labs to reduce costs for non-production workloads. For more information on DevTest lab please take a look here https://azure.microsoft.com/en-us/services/devtest-lab/

The Azure Security Centre is now Hybrid too, allowing for non-Azure machines to be onboarded to take full advantage of the security monitoring and recommendations built into Azure.

clip_image014

This is a great additional to Azure Security Centre for a single unified view of your servers, either on-premises or running in Azure.

Currently Azure have 42 regions with 100’s of data centres, 4500+ peering locations and 130+ edge sites making the Azure network one of the largest in the world.

clip_image016

Microsoft, in conjunction with Facebook, also completed the first transatlantic cable which is approx. 4000 miles long and can support 160TB/sec of data.

clip_image018

Other worthy mentions would include:

· Additional Express Route partners

clip_image020

· Azure Distributed Denial of Service (DDos) Protection has just been released to preview. Additional information on the DDos service from Microsoft can be found here https://azure.microsoft.com/en-us/blog/azure-ddos-protection-service-preview/

clip_image022

· Azure Data Box has been released in preview and would be used to support customer with large data imports to Azure. The device supports 100 TB and a customer can have multiple devices. Additional information can be found here https://azure.microsoft.com/en-us/blog/announcing-the-preview-for-the-azure-data-box-achievements-will-be-unlocked/

clip_image024

· Azure File Sync is another new preview release that allows Azure File Share to sync with on-premises file servers. Cloud tiering is implemented that allows storing a certain amount of data locally and store a larger amount of data in the cloud. Azure File Sync is also integrated into Azure Backup. Additional information can be found here https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-for-azure-file-sync/

clip_image026

I could go on all day about updates from Ignite so will provide links to everything else announced during the session!

· Azure Policy – https://azure.microsoft.com/en-us/services/azure-policy/

· Azure Migrate – https://azure.microsoft.com/en-us/blog/announcing-azure-migrate/

· FastTrack for Azure – https://azure.microsoft.com/en-us/programs/azure-fasttrack/

· Cloudyn – (Cost Management for Azure) https://blogs.microsoft.com/blog/2017/06/29/microsofts-acquisition-cloudyn-will-help-azure-customers-manage-optimize-cloud-usage/

Session 4: What’s new and upcoming in AD FS to securely sign-in your users to Office 365 and other applications

The ADFS session focused on what’s new and what’s coming in the future for ADFS for Office 365. As this was a shorter session I would highlight the key takeaways only.

· Passwords could soon be a thing of the past. Password less options for ADFS 2016

clip_image028

· How to get to password less authentication

clip_image030

· Extranet lockout for ADFS with known locations is coming soon. This feature will help user accounts from being locked out from failed external logon attempts.

clip_image032

· Resolve ADFS authentication issues faster using the help site – https://adfshelp.microsoft.com/

· ADFS Rapid Restore tool – https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/ad-fs-rapid-restore-tool

That was enough for one day and it was time to leave the convention centre and head back to the hotel.

#SharePoint item count from all lists on all sub webs in SharePoint / #ProjectOnline #PPM #PowerShell

September 28, 2017 at 11:29 am | Posted in Administration, Functionality, Add-on, Customisation, Information, Reporting, PowerShell | Leave a comment
Tags: , , , ,

This is a supporting blog post for an example PowerShell script I quickly wrote for Microsoft’s Office 365 SharePoint Online. It was created after a query was posted on the Project Online TechNet forums asking how to easily check what sub sites were being used in PWA.

The code sample can be downloaded from here: https://gallery.technet.microsoft.com/Get-item-count-from-all-026a6db2

To get the script to work, there will need to be some environment variables set and a DLL available, these are detailed below.

Update the environment details:

image

Add the SharePoint Online / PWA URL, username and password for an account that is a site collection admin on the target site collection.

To get the script to work you will need to reference the DLL as seen in the image below:

image

This can be installed from the SharePoint Online Client components / management shell. I used the dll from the SharePoint Online Management Shell in this example.

Below you can see the output from the PowerShell ISE when running against my test SharePoint / Project Online site collection:

SNAGHTML9ae65556

There are probably easier ways to view this information but I thought I would just try with a simple PowerShell script.

#ProjectOnline #PowerBI content pack 2 available #BI #Office365 #PPM

September 26, 2017 at 4:14 pm | Posted in Add-on, Administration, Customisation, Functionality, Information, Reporting | 4 Comments
Tags: , , , ,

2 years ago Microsoft released the first Project Online Power BI Content Pack, this week they have released another updated Project Online content pack! This is available now. For details on how to get the content pack see my original post below:

https://pwmather.wordpress.com/2015/11/18/projectonline-powerbi-content-pack-available-bi-office365-ppm/

The steps are the same to get the new Project Online Content pack. This is version 2.3 as seen below:

image

Once the data is imported access the Report and Dashboard from the Power BI App > My Workspace navigation. I have set this up against our sales demo instance for Project Online. There are default reports for:

Portfolio Dashboard:image

Portfolio Timeline:image

Portfolio Costs:image

Portfolio Milestones:image

Portfolio Risks:image

Portfolio Issues:image

Resource Availability:image

Resource Overview:image

Resource Assignments:image

Resource Details – you will need to select a resource from the Resource Name filter:image

Resource Demand Forecast:image

Project Status – you will need to select a project from the Project filter:image

Project Risks & Issues – you will need to select a resource from the Project filter:image

Report Dashboard:image

Together with this content pack and the example report pack I built earlier this year, there are plenty of examples of reports to make Project Online reporting a simple task! A link to my report pack can be seen below:

https://pwmather.wordpress.com/2017/01/03/projectonline-ppm-powerbi-report-pack-bi-reporting-powerquery-dax-office365/

#ProjectServer and #SharePoint 2013 / 2016 September 2017 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #MSProject

September 13, 2017 at 9:24 pm | Posted in Administration, CU, Fixes, Functionality, Information, Installation | Leave a comment
Tags: , , , , , , ,

The Office 2016 September 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4040279

Project 2016 September 2017 update:
https://support.microsoft.com/en-us/kb/4011101

SharePoint Server 2016 / Project Server 2016 September 2017 update: 
https://support.microsoft.com/en-us/kb/4011127 & https://support.microsoft.com/en-us/kb/4011112

The Office 2013 September 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4040279

Project Server 2013 September 2017 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/4011115

Project Server 2013 September 2017 update:
https://support.microsoft.com/en-us/kb/4011118

Project 2013 September 2017 update:
https://support.microsoft.com/en-us/kb/4011109

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the September 2017 CU for 2013.

As always, fully test these updates on a replica test environment before deploying to production.

Link #ProjectOnline tasks to #Planner #Microsoft365 #PPM #PMOT #MSProject

August 29, 2017 at 4:04 pm | Posted in Administration, Functionality, Information | Leave a comment
Tags: , , , , ,

In the latest release of Project Online Desktop Client, depending on the release channel that you are on, you might have noticed the new Planner button in the Task ribbon:

image

My Office version is on the Office Insider Fast channel so that I get the latest changes first but this will typically be controlled by your IT admins so you might need to wait a while until this feature reaches the Office release channel that you are on.

Hovering over the new button provides the details for this feature:

image

This feature allows you to create a hyperlink to the linked Planner Plan from the Planner icon in the indicators column. It could be that you have a bucket type task (sprint etc.) in the Project Online project then the detail tasks / activities might be in the linked Planner plan.

Select a task in the project then click the Planner button and a side pane will launch:

image

Click the “Link to existing Planner plan..” link then you will be able to type the name of the Office 365 Group that contains the Planner plan:

image

Start typing name of the group then select the correct group, in this example I have one called Pauls Test Plan:

image

Notice how it also states that it will add the resources assigned to the task into the group. Click the Create Link button:

image

It then shows that this task is now linked to that Planner plan:

image

You then get the hyperlink directly to the linked Planner Plan using the Planner icon in the indicators column or using the link in the Link to plan pane.

You can only link one task from the project plan to one Planner plan, if you try and link another task to the same Planner plan you will see this alert:

image

The resources added to the linked task didn’t get added to the group as suggested but as this feature is only in the Office Insider builds that might come when this is released in the other release channels. ***Update – this feature does work providing the PWA Resource email address matches the O365 user principle name. I believe other options are being explored***

For release details, see the article here: https://support.office.com/en-us/article/What-s-new-in-Project-2016-111bcaf9-bc27-4c15-80e6-85e726307520?ui=en-US&rs=en-US&ad=US#Audience=Office_Insiders

#ProjectServer and #SharePoint 2013 / 2016 August 2017 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #MSProject

August 10, 2017 at 7:46 am | Posted in Administration, CU, Fixes, Functionality, Information, Installation | Leave a comment
Tags: , , , , , , ,

The Office 2016 August 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4036121

Project 2016 August 2017 update:
https://support.microsoft.com/en-us/kb/4011034

SharePoint Server 2016 / Project Server 2016 August 2017 update: 
https://support.microsoft.com/en-us/kb/4011049 & https://support.microsoft.com/en-us/kb/4011053

The Office 2013 August 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4036121

Project Server 2013 August 2017 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/4011074

Project Server 2013 August 2017 update:
https://support.microsoft.com/en-us/kb/4011082

Project 2013 August 2017 update:
https://support.microsoft.com/en-us/kb/4011084

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the August 2017 CU for 2013.

As always, fully test these updates on a replica test environment before deploying to production.

Running #ProjectOnline #PowerShell in #Azure using #AzureFunctions #PPM #Cloud #Flow #LogicApp Part2

August 1, 2017 at 4:32 pm | Posted in Add-on, Administration, Configuration, Customisation, Functionality, Information, PowerShell, Workflow | Leave a comment
Tags: , , , , , , ,

Following on from part 1 where I introduced the idea of automating certain Microsoft 365 PPM Project Online customisations using PowerShell, Microsoft Flow / Azure Logic Apps and Azure Functions, in part 2 I will set up an example automation for creating a Project Online event driven snapshot application on project published without having to set up any server or write any complied code! If you missed part 1 where this concept was introduced, see the link below:

https://pwmather.wordpress.com/2017/07/28/running-projectonline-powershell-in-azure-using-azurefunctions-ppm-cloud-flow-logicapp-part1/

Firstly I created an Azure Function app in my Azure subscription then created a new function based on the HttpTrigger – PowerShell template:

image

Give the function a name and set the Authorisation level – set the authorisation level to the correct setting for your function. Click Create. For details on Azure Functions, start here: https://docs.microsoft.com/en-us/azure/azure-functions/

You will then be presented with the function and sample code:

image

We will now create the PowerShell script to create the snapshot. This is based on a script I published a while back: https://pwmather.wordpress.com/2016/08/26/projectonline-data-capture-snapshot-capability-with-powershell-sharepoint-office365-ppm-bi/

The script has been updated to work in an Azure Function but also modified to use a parameter so that it only captures data for the published project, the PowerShell script can be seen further on in the post.

Firstly upload the SharePoint CSOM DLLs using the upload button:

image

I used the SharePoint CSOM DLLs from the SharePoint Online Management Shell:

image

Then enter the PowerShell code – screen shots below and code pasted below the images:

image

image

image

Code sample used in function:

# POST method: $req
$requestBody = Get-Content $req -Raw | ConvertFrom-Json
$projID = $requestBody.projID

# GET method: each querystring parameter is its own variable
if ($req_query_name) 
{
    $projID = $req_query_name 
}

#add SharePoint Online DLL - update the location if required
Import-Module "D:\home\site\wwwroot\ProjectSiteUserSyncHTTPTrigger\Microsoft.SharePoint.Client.dll"
Import-Module "D:\home\site\wwwroot\ProjectSiteUserSyncHTTPTrigger\Microsoft.SharePoint.Client.Runtime.dll"

#set the environment details
$PWAInstanceURL = "https://mod497254.sharepoint.com/sites/PWA2"
$username = "admin@MOD497254.onmicrosoft.com" 
$password = "password"
$securePass = ConvertTo-SecureString $password -AsPlainText -Force
#create the SharePoint list on the PWA site and add the correct columns based on the data required
$listname = "ProjectSnapShots"
$results1 = @()

#set the Odata URL with the correct project fields needed
$url = $PWAInstanceURL + "/_api/ProjectData/Projects()?`$Filter=ProjectId eq GUID'$projID'&`$Select=ProjectId,ProjectName,ProjectPercentCompleted"

#get all of the data from the OData URL
while ($url){
    [Microsoft.SharePoint.Client.SharePointOnlineCredentials]$spocreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePass);    
    $webrequest = [System.Net.WebRequest]::Create($url)
    $webrequest.Credentials = $spocreds
    $webrequest.Accept = "application/json;odata=verbose"
    $webrequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
    $response = $webrequest.GetResponse()
    $reader = New-Object System.IO.StreamReader $response.GetResponseStream()
    $data = $reader.ReadToEnd()
    $results = ConvertFrom-Json -InputObject $data
    $results1 += $results.d.results
        if ($results.d.__next){
        $url=$results.d.__next.ToString()
    }
    else {
        $url=$null
    }
}

#add data to snapshot list
#get PWA site client context
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($PWAInstanceURL) 
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePass) 
$ctx.Credentials = $credentials 
$ctx.ExecuteQuery()  
 
#get the target list 
$List = $ctx.Web.Lists.GetByTitle($listname) 
$ctx.Load($List) 
$ctx.ExecuteQuery() 

#for each project, create the list item - update the newitem with the correct list columns and project data
foreach ($projectrow in $results1) 
{ 
   $itemcreationInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation 
   $newitem = $List.AddItem($itemcreationInfo) 
   $newitem["Title"] = $projectrow.ProjectName
   $newitem["ProjectId"] = $projectrow.ProjectId
   $newitem["PercentCompleted"] = $projectrow.ProjectPercentCompleted
   $newitem.Update() 
   $ctx.ExecuteQuery() 
} 

The PowerShell code would need to be updated with your environment details: (PWAInstanceUrl, username, password and listname variables). Also the OData URL will need to be updated to include the project level fields that you want to snapshot.The target SharePoint list will also need to be set up in the PWA site collection for the project fields the script uses. This is the list I set up for this example:

image

SnapshotDate is set to Todays date so we don’t need to set that in the code.

The code is simple to follow but in summary the first part will get the projID from request body – we will pass in the ProjectID for the published project from the Flow / Logic App trigger. Then the SharePoint Online CSOM DLLs are imported in. Then the specific PWA environment details are set for the variables. The OData URL is then added to the url variable. Here notice we are filtering for the ProjectID and passing in the $projID variable we get from the request body. The Select part of the query will need to be updated for your project level fields. Next the code gets the data from the OData feed using the web request and adds the data into the results array. Once we have the data, we connect to the SharePoint list, in the example it is the ProjectSnapShots as set in the $listname variable. Lastly the new item is created in the list using the data from the results array.

Now the Azure Function is ready to be used. It can be tested using the Test option in the right hand panel, update the Request body:

image

Update it for a valid project ID. Then click Run above the function code:

image

The Logs window below will help you debug any errors etc.:

image

Then check the SharePoint list in the PWA site and the new item should have been created:

image

We now know the Azure Function is working as expected, now we need to call the Azure function when a project is published. All we need from the Azure Function is the URL to use, use the </>Get function URL button:

image

Select the correct Key, in this example I used the default function key. Copy the URL as it will be needed later.

To call the Azure Function when a project is published, the choice here for a no code option would be Microsoft Flow or Azure Logic App. For this I will use Microsoft Flow but the same steps (triggers , actions etc.) would be used in the Azure Logic App. Create a new Flow and search for Project Online:

image

Then select the Project Online – When a project is published trigger.

Enter the PWA URL:

image

Then click the ellipsis and set the connection for the PWA URL or create a new connection if needed:

image

Click + New step then Add an Action and search Http:

image

Select HTTP – HTTP:

image

Complete the HTTP action:

Method is POST, the Uri is the URL for the function that we copied earlier, Headers are not required. The Body is where we pass in the project ID from the published project trigger:

image

The Flow is now completed:

SNAGHTML55ecdca7

Now click Save flow.

In PWA, Publish a project or projects and see the snapshot data created on the configured snapshot list once the Flow has run:

Flow run:

image

Data added to the list for the project I published – in this example it was the Office 2016 rollout project:

image

This just shows a simple example and the some of the possibilities for extending the Project Online capability when making use of simple PowerShell scripts and other Microsoft 365 / Azure services for cloud / serverless solutions. Look out for more examples in the future.

Running #ProjectOnline #PowerShell in #Azure using #AzureFunctions #PPM #Cloud #Flow #LogicApp Part1

July 28, 2017 at 4:50 pm | Posted in Add-on, Administration, App, Configuration, Customisation, Fixes, Functionality, Information, PowerShell, Workflow | 4 Comments
Tags: , , , , , ,

Following on from my last post where I published an example solution starter PowerShell script for adding project team users to the Project Site, here I mentioned about running the script in an Azure Function and even running this sync from a Project Online event. The blog post can be seen below if you missed that:

https://pwmather.wordpress.com/2017/07/07/projectonline-project-user-sync-to-project-sites-ppm-o365-powershell-sharepoint/

Whilst I will use that example PowerShell script from my last blog post as an example, the concept will work for any PowerShell script.

I wont cover the details in setting up the Azure Function in part 1 as there is plenty of support out there for this – for this example I created an Http Trigger – PowerShell function.

image

I then uploaded the SharePoint DLLs and copied in the PowerShell script into the editor:

image

The project site user sync script didn’t work as is as I had to make some minor changes to get this to run from the Azure Function. This included change the way the SharePoint CSOM DLLs where loaded in. In the example script I used Add-Type to load the DLLs but in the Azure Function I had to switch this out to use Import-Module:

image

The next change I had to make was to comment out all of the feedback to the console, so all of the write-hosts. I also had to remove the functions within the script so that is was one block. After these changes I could execute the PowerShell script to add the project team members from my example project into the associated project site from the Azure Function. As this was an HTTP Trigger Azure Function, you can get the URL to the function and access that URL to execute the function.

This opens up lots of possibilities to easily execute this Azure Function from other applications that can make the HTTP call. For example you build easily execute this script once the project has been published either using a remote event receiver (RER) or a Microsoft Flow / Azure Logic App. The example script would need to be made generic and pass in a variable into the Azure Function for it to be a workable solution.

In part 2 of this blog post we will look at make a full event driven solution that is fired on project publish then executing the Azure Function and passing in a variable.

#ProjectServer and #SharePoint 2013 / 2016 July 2017 Cumulative Update #PS2013 #SP2013 #PS2016 #SP2016 #MSProject

July 16, 2017 at 2:25 pm | Posted in Administration, CU, Fixes, Functionality, Information | Leave a comment
Tags: , , , , , , ,

The Office 2016 July 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4033107

Project 2016 July 2017 update:
https://support.microsoft.com/en-us/kb/3203476

SharePoint Server 2016 / Project Server 2016 July 2017 update: 
https://support.microsoft.com/en-us/kb/3213544 & https://support.microsoft.com/en-us/kb/3213543

The Office 2013 July 2017 updates and cumulative updates are now available, please see the links below:

https://support.microsoft.com/en-us/kb/4033107

Project Server 2013 July 2017 CU Server Roll up package:
https://support.microsoft.com/en-us/kb/3213566

Project Server 2013 July 2017 update:
https://support.microsoft.com/en-us/kb/3213577

Project 2013 July 2017 update:
https://support.microsoft.com/en-us/kb/3213538

Also worth noting, if you haven’t done so already, install Service Pack 1 http://support2.microsoft.com/kb/2880556 first if installing the July 2017 CU for 2013.

As always, fully test these updates on a replica test environment before deploying to production.

Next Page »

Blog at WordPress.com.
Entries and comments feeds.