Quantcast
Channel: Todd Klindt's Blog Posts
Viewing all 623 articles
Browse latest View live

SharePoint 2013 Build Numbers

$
0
0
Body:

Most Recent Patch, July 2020 - 15.0.5259.1001

4/26/2014 - Service Pack 1 has been rereleased. Please read this blog post to see how to tell the the two SP1s apart

Now that the SharePoint 2013 beta is on the streets, it’s time to start keeping track of those glorious build numbers. This blog post will have all the build numbers, their friendly names, how to get them, and what I know about them. Just like my SharePoint 2010 Build Number post, let me know if there are things I can change, or any content I should add.

To see which build your farm is, go to Central Administration > System Settings > Manage servers in your farm (/_admin/FarmServers.aspx)

Or using Windows PowerShell: (get-spfarm).buildversion

To see which build your farm is at with Fiddler, open the site in question and view Inspectors > Headers and under Miscellaneous check the build under MicrosoftSharePointTeamServices header.

To see which build your products are, go to Central Administration > Upgrade and Migration > Check Product and patch installation status. (/_admin/PatchStatus.aspx)

To greatly reduce the time it takes to patch a SharePoint 2013 server, read this blog post by Russ Maxwell, Why SharePoint 2013 Cumulative Update takes 5 hours to install? It explains why the process takes so long and provides a handy script that makes the patch install much more quickly. Do yourself a favor and check it out.

AppFabric needs to be patched too.

Patch terminology KB article.

Follow SP2013Patches on Twitter for immediate updates when this list changes or I add a regression to a patch.

Get an email when I change this page. (Third party web site)

ShortURL: https://www.toddklindt.com/sp2013builds

Jump to: SharePoint 2013 | Office Web Apps | Workflow Manager | AppFabric (Distributed Cache)  

SharePoint 2013

Build Number

Build Name

Component

Information Link

Download Link

Notes

15.0.4128.1014 Beta SharePoint Foundation 2013   Download Bugs, Notes, & Regressions
15.0.4128.1014 Beta SharePoint Server 2013   Download
15.0.4128.1014 Beta Project Server 2013   Download  
​15.0.4420.1017 ​RTM ​​SharePoint Foundation 2013 Download ​Bugs, Notes, & Regressions
​​15.0.4420.1017 ​RTM ​SharePoint Server 2013 Download
​​15.0.4420.1017 ​RTM ​Project Server 2013 Download
​15.0.4433.1506 ​December 2012 Hotfix ​SharePoint Server 2013 KB2752058 Download ​Bugs, Notes, & Regressions
​15.0.4433.1506 ​December 2012 Hotfix ​SharePoint Server 2013 (coreserver) KB2752001 Download
​15.0.4481.1005 ​March 2013 Public Update ​SharePoint Foundation 2013 KB2768000 Download Bugs, Notes, & Regressions
​​15.0.4481.1005 ​​March 2013 Public Update ​SharePoint Server 2013 KB2767999 Download
​​15.0.4481.1005 ​​March 2013 Public Update ​Project Server 2013 KB2768001 Download
​15.0.4505.1002 ​April 2013 CU ​​SharePoint Foundation 2013 KB2751999 Download Bugs, Notes, & Regressions
​15.0.4505.1005 ​​April 2013 CU ​SharePoint Server 2013 KB2726992 Download
​15.0.4505.1005 ​April 2013 CU ​Project Server 2013 KB775426 Download
​15.0.4517.1003 ​June 2013 CU ​SharePoint Foundation 2013 KB2817346 Download Bugs, Notes, & Regressions
​15.0.4517.1005 ​June 2013 CU ​​SharePoint Server 2013 KB2817414 Download
​June 2013 CU ​Project Server 2013 KB2817415 Download
​15.0.4535.1000 ​August 2013 CU ​​SharePoint Foundation 2013 KB2817517 Download Bugs, Notes, & Regressions
​​August 2013 CU ​SharePoint Server 2013 KB2817616 Download
​​August 2013 CU ​Project Server 2013 KB2817615 Download
​15.0.4551.1001 ​October 2013 CU ​SharePoint Foundation 2013 KB2825674 Download Bugs, Notes, and Regressions
​15.0.4551.1005 ​October 2013 CU ​SharePoint Server 2013 KB2825647 Download
​October 2013 CU ​Project Server 2013
​15.0.4551.1508 ​December 2013 CU ​SharePoint Foundation 2013 KB2849961 Download ​Bugs, Notes, and Regressions
​15.0.4551.1511 ​SharePoint Server 2013 KB2850024 Download
​15.0.4551.1508 ​Project Server 2013 KB2837668 Download
​15.0.4569.1000* ​Service Pack 1 ​SharePoint Foundation 2013 KB2817439 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB2817429 Download
​Project Server 2013 KB2817434 Download
​15.0.4571.1502*
​Service Pack 1 Mark 2 ​SharePoint Foundation 2013 KB2880551 Download Bugs, Notes, and Regressions

​​ ​SharePoint Server 2013 KB2880552 Download

​​ ​Project Server 2013 KB2880553 Download
​​15.0.4605.1000 ​April 2014 CU ​​SharePoint Foundation 2013 KB2863892 Download ​​Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB2878240 Download
​Project Server 2013 KB2880484 Download
​15.0.4615.1001 ​MS14-022 ​SharePoint Foundation 2013 KB2952166 ​Links in KB Bugs, Notes, and Regressions
​SharePoint Server 2013 KB2952166 ​Links in KB
​Project Server 2013 KB2952166 ​Links in KB
15.0.4617.1000 ​June 2014 CU SharePoint Foundation 2013 KB2881063 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB2881061 Download
​Project Server 2013 KB2881062 Download
​ 15.0.4631.1001 ​July 2014 CU ​SharePoint Foundation 2013 KB2882999 Download ​​Bugs, Notes, & Regressions
​​SharePoint Server 2013 KB2882989 Download
​Project Server 2013 KB2882990 Download
​15.0.4641.1001 ​August 2014 CU ​SharePoint Foundation 2013 KB2883081 Download Bugs, Notes, & Regressions
​SharePoint Server 2013 (1/5) KB2760213 Download
​​SharePoint Server 2013 (2/5) KB2880559 Download
​​SharePoint Server 2013 (3/5) KB2883078 Download
​​SharePoint Server 2013 (4/5) KB2883085 Download
​​SharePoint Server 2013 (5/5) KB2883086 Download
​Project Server 2013 KB2883083 Download
​15.0.4649.1001 ​September 2014 CU ​SharePoint Foundation 2013 KB2883087 Download Bugs, Notes, & Regressions
​SharePoint Server 2013 KB2883068 Download
​Project Server 2013 KB2883072 Download
​15.0.4659.1001 ​October 2014 CU ​SharePoint Foundation 2013 KB2889946 Download ​​Bugs, Notes, & Regressions
​SharePoint Server 2013 (1/3) KB2899469 Download
​SharePoint Server 2013 (2/3) KB2880962 Download
​SharePoint Server 2013 (3/3) KB2880485 Download
​Documentum Connector KB2752098 Download
​Project Server 2013 KB2889959 Download
​15.0.4667.1000 ​November 2014 CU ​SharePoint Foundation 2013 KB2899468 Download Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB2889944 Download
​Project Server 2013 KB2889949 Download
​15.0.4675.1000 ​December 2014 CU ​SharePoint Foundation 2013 KB2910945 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB2910938 Download
​Project Server 2013 KB2910911 Download
​15.0.4693.1001 ​February 2015 CU ​​SharePoint Foundation 2013 KB2920801 Download Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB2920804 Download
​​Project Server 2013 KB2920796 Download
​15.0.4701.1001 ​March 2015 CU ​SharePoint Foundation 2013 KB2956159 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB2956166 Download
​Project Server 2013 KB2956162 Download
​15.0.4711.1000 ​April 2015 CU ​SharePoint Foundation 2013 KB2965261 Download Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB2965266 Download
​Project Server 2013 KB2965263 Download
​15.0.4719.1002 ​May 2015 CU ​SharePoint Foundation 2013 ​​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3039780
​Project Server 2013 KB3039753
​15.0.4727.1001 ​June 2015 CU ​SharePoint Foundation 2013 KB3054864 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3054866 Download
​Project Server 2013 KB3054865 Download
​​15.0.4737.1001 ​July 2015 CU ​SharePoint Foundation 2013 ​Bugs, Notes, and Regressions
​SharePoint Server 2013
​Project Server 2013
​​​15.0.4745.1001 ​August 2015 CU ​​SharePoint Foundation 2013 KB3055004 ​​Bugs, Notes, and Regressions
​SharePoint Server 2013
​​Project Server 2013 Download
​15.0.4753.1000 ​September 2015 CU
SharePoint Foundation 2013
KB2975894 Bugs, Notes, and Regressions
​SharePoint Server 2013
​Project Server 2013
​15.0.4763.1000 ​October 2015 CU ​SharePoint Foundation 2013 KB3085488 Download ​​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3085492 Download
​Project Server 2013 KB3085489 Download
​15.0.4771.1000 ​November 2015 CU ​SharePoint Foundation 2013 KB3101368 Download ​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3101373 Download
​Project Server 2013 KB3101369 Download
15.0.4779.1000 ​December 2015 CU SharePoint Foundation 2013 KB3114339 Download ​​Bugs, Notes, and Regressions​​
SharePoint Server 2013 KB3114345 Download
​Project Server 2013 KB3114341 Download
​15.0.4787.1000 ​January 2016 CU SharePoint Foundation 2013 KB3114492 Download ​Bugs, Notes, and Regressions​​​​
SharePoint Server 2013 KB3114497 Download​
Project Server 2013 KB3114493 Download
​15.0.4797.1000 ​February 2016 CU ​SharePoint Foundation 2013 KB3114722 Download Bugs, Notes, and Regressions​​​​
​​SharePoint Server 2013 KB3114726 Download
​Project Server 2013 KB3114723 Download
​15.0.4805.1000 ​March 2016 CU ​SharePoint Foundation 2013 KB3114822 Download ​​Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013 KB3114827 Download
​Project Server 2013 KB3114823 Download
​15.0.4815.1000 ​April 2016 CU ​SharePoint Foundation 2013 KB3114935 Download
Bugs, Notes, and Regressions​​​​
​​SharePoint Server 2013 KB3114938
Download
​​Project Server 2013 KB3114936 Download
​15.0.4823.1003 ​May 2016 CU ​SharePoint Foundation 2013 KB3115023 Download ​Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013 KB3115029 Download
​Project Server 2013 KB3115024 Download
​15.0.4833.1003 ​June 2016 CU ​SharePoint Foundation 2013 KB3115171 Download Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013 KB3115174 Download
​Project Server 2013 KB3115172 Download
​15.0.4841.1000 ​July 2016 CU ​SharePoint Foundation 2013 KB3115290 Download Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013 KB3115293 Download
​Project Server 2013 KB3115291 Download
​15.0.4849.1000 ​August 2016 CU ​SharePoint Foundation 2013 KB3115447 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3115450 Download
​Project Server 2013 KB3115448 Download
​15.0.4859.1000 ​September 2016 CU ​SharePoint Foundation 2013 KB3118271 Download ​​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3118279 Download
​Project Server 2013 KB3118274 Download
​15.0.4867.1002 ​October 2016 CU ​SharePoint Foundation 2013 KB3118361 Download ​​​Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB3118366 Download
​Project Server 2013 KB3118365 Download
​15.0.4875.1000 ​November 2016 CU ​SharePoint Foundation 2013 KB3127930 Download ​​​​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3127933 Download
​Project Server 2013 KB3127931 Download
​15.0.4885.1000 ​December 2016 CU ​SharePoint Foundation 2013 KB3128001 Download Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3128005 Download
​Project Server 2013 KB3128003 Download
​15.0.4893.1001 ​January 2017 CU ​SharePoint Foundation 2013 KB3141479 Download Bugs, Notes, and Regressions
​​SharePoint Server 2013 KB3141481 Download
​Project Server 2013 KB3141480 Download
​February 2017 ​No Updates
​15.0.4911.1001 ​March 2017 CU ​SharePoint Foundation 2013 KB3172456 Download ​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3172497 Download
​Project Server 2013 KB3172462 Download
​15.0.4919.1003 ​April 2017 CU ​​SharePoint Foundation 2013​ KB3178727 Download ​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3178730 Download
​Project Server 2013 KB3178725 Download
​15.0.4927.1001 ​May 2017 CU ​​​SharePoint Foundation 2013​ KB3191911 Download ​Bugs, Notes, and Regressions
​SharePoint Server 2013 KB3191913 Download
​​Project Server 2013 KB3191912 Download
​15.0.4937.1001​ ​June 2017 CU ​​​SharePoint Foundation 2013​ KB3203428 Download ​​Bugs, Notes, and Regressions​​
​​SharePoint Server 2013​ KB3203430 Download
​​​Project Server 2013 KB3203429 Download
​15.0.4945.1000 ​July 2017 CU ​SharePoint Foundation 2013​ KB3213563 Download ​Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013​ KB3213569 Download
​Project Server 2013 KB3213566 Download
​15.0.4953.1000 ​August 2017 CU ​​SharePoint Foundation 2013​ KB4011073 Download ​Bugs, Notes, and Regressions​​​​​
​​SharePoint Server 2013​​ KB4011076 Download
​Project Server 2013 KB4011074 Download
​15.0.4963.1000 ​September 2017 CU ​​​SharePoint Foundation 2013​ KB4011132 Download Bugs, Notes, and Regressions​​​​​​
​​​SharePoint Server 2013​​​ KB4011116 Download
​​Project Server 2013 KB4011115 Download
​15.0.4971.1000 ​October 2017 CU ​SharePoint Foundation 2013​ KB4011173 Download Bugs, Notes, and Regressions​​​​​​​​
​SharePoint Server 2013​​​ KB4011177 Download
​Project Server 2013 KB4011175 Download
​15.0.4981.1002 ​November 2017 CU ​​SharePoint Foundation 2013​ KB4011248 Download ​Bugs, Notes, and Regressions
​​SharePoint Server 2013​​​ KB4011251 Download
​Project Server 2013 KB4011249 Download
​15.0.4989.1001 ​December 2017 CU ​​​SharePoint Foundation 2013​ KB4011588 Download ​​Bugs, Notes, and Regressions​
​​​SharePoint Server 2013​​​ KB4011593 Download
​Project Server 2013 KB4011589 Download
​15.0.4997.1001 ​January 2018 CU ​​​​SharePoint Foundation 2013​ KB4011649 Download Bugs, Notes, and Regressions​​
​SharePoint Server 2013​​​ KB4011652 Download
​Project Server 2013 KB4011650 Download
​15.0.5007.1000 ​February 2018 CU ​​​​​SharePoint Foundation 2013​ KB4011693 Download Bugs, Notes, and Regressions​​​​
​SharePoint Server 2013​​​ KB4011696 Download
​​Project Server 2013 KB4011694 Download
​15.0.5015.1000 ​March 2018 CU ​SharePoint Foundation 2013​ KB4018299 Download Bugs, Notes, and Regressions​​​​​​
​SharePoint Server 2013​​​ KB4018302  Download
​Project Server 2013 KB4018301 Download
​15.0.5023.1001 ​April 2018 CU ​​SharePoint Foundation 2013​ KB4018345 Download ​​Bugs, Notes, and Regressions​​​​​​​​
​​SharePoint Server 2013​​​ KB4018348 Download
​Project Server 2013 KB4018346​ Download
​15.0.5031.1001 ​May 2018 CU ​SharePoint Foundation 2013​ KB4018394 Download ​​​Bugs, Notes, and Regressions​​​​​​​​​
​​​SharePoint Server 2013​​​ KB4018397 Download
​​Project Server 2013 KB4018395 Download
​15.0.5041.1000 ​June 2018 CU ​​SharePoint Foundation 2013​ KB4022184​ Download Bugs, Notes, and Regressions​​​​​​​​​​
​SharePoint Server 2013​​​ KB4022187 Download
​Project Server 2013 KB4022185 Download​
​15.0.5049.1001 ​July 2018 CU ​SharePoint Foundation 2013​ KB4022239 Download ​Bugs, Notes, and Regressions​​​​​​​​​​
​SharePoint Server 2013​​​ KB4022241 Download
​Project Server 2013 KB4022240 Download​
​15.0.5059.1000 ​August 2018 CU ​​SharePoint Foundation 2013​ KB4032244 Download ​Bugs, Notes, and Regressions​​​​​​​​​​​
​SharePoint Server 2013​​​ KB4032247 Download
​Project Server 2013 KB4032245 Download
​15.0.5067.1000 ​September 2018 CU ​SharePoint Foundation 2013​ KB4092474 Download Bugs, Notes, & Regressions​
​SharePoint Server 2013​​​ KB4092476 Download
​Project Server 2013 KB4092475 Download​
​15.0.5075.1000 ​October 2018 ​SharePoint Foundation 2013​ KB4461455​ Download Bugs, Notes, & Regressions​
​SharePoint Server 2013​​​ KB4461458 Download
​Project Server 2013 KB4461456 Download
​15.0.5085.1000 ​November 2018 ​​SharePoint Foundation 2013​ KB4461508 Download ​Bugs, Notes, & Regressions​
​SharePoint Server 2013​​​ KB4461510 Download
​Project Server 2013 KB4461509 Download
​15.0.5093.1000 ​December 2018 ​​​SharePoint Foundation 2013​ KB4461552 Download ​​Bugs, Notes, & Regressions​
​​SharePoint Server 2013​​​ KB4461555 Download
​Project Server 2013 KB4461553 Download
​15.0.5101.1000 ​January 2019 ​SharePoint Foundation 2013​ KB4461603 Download ​​Bugs, Notes, & Regressions​​​
​SharePoint Server 2013​​​ KB4461605 Download
​​Project Server 2013 KB4461604 Download
​15.0.5111.1000 ​February 2019 ​​SharePoint Foundation 2013​ KB4462150 Download ​Bugs, Notes, & Regressions​​​​
​SharePoint Server 2013​​​ KB4462152 Download
​Project Server 2013 KB4462151 Download
​15.0.5119.1001 ​March 2019 ​SharePoint Foundation 2013​ KB4462217 Download ​​Bugs, Notes, & Regressions​​​​​
​SharePoint Server 2013​​​ KB4462219 Download
​​Project Server 2013 KB4462218 ​​​Download
​15.0.5127.1001 ​April 2019 ​​SharePoint Foundation 2013​ KB4464512 Download ​Bugs, Notes, & Regressions​​​​​​
​SharePoint Server 2013​​​ KB4464514 Download
​​​Project Server 2013​ KB4464513 ​​​Download​
​15.0.5137.1000 ​May 2019 ​​​SharePoint Foundation 2013​ KB4464560 Download ​Bugs, Notes, & Regressions​​​​​​
​​SharePoint Server 2013​​​ KB4464563 Download
​Project Server 2013​ KB4464562 Download
​15.0.5145.1000 ​June 2019 ​SharePoint Foundation 2013​ KB4464598 Download ​Bugs, Notes, & Regressions​​​​​​​
​​​SharePoint Server 2013​​​ KB4464601 Download
​Project Server 2013​ KB4464600 Download
​15.0.5153.1000 ​July 2019 ​SharePoint Foundation 2013​ KB4475523 Download ​Bugs, Notes, & Regressions​​​​​​​
​SharePoint Server 2013​​​ KB4475526 Download
​Project Server 2013​ KB4475524 Download
​15.0.5163.1000 ​August 2019 ​SharePoint Foundation 2013​ KB4475559 Download ​Bugs, Notes, & Regressions​​​​​​​​
​SharePoint Server 2013​​​ KB4475561 Download
​Project Server 2013​ KB4475560 Download​
​15.0.5172.1000  ​September 2019 ​SharePoint Foundation 2013​ KB4475610 Download
​SharePoint Server 2013​​​ KB4484095 Download
​Project Server 2013 KB4484093 Download
​15.0.5179.1000 ​October 2019 ​SharePoint Foundation 2013​ KB4484118 Download
​SharePoint Server 2013​​​ KB4484121 Download
​Project Server 2013 KB4484120 Download
​15.0.5189.1000 ​November 2019 ​​SharePoint Foundation 2013​ KB4484153 Download
​SharePoint Server 2013​​​ KB4484155 Download
​Project Server 2013 KB4484154 Download
​15.0.5197.1000 ​December 2019 ​​​SharePoint Foundation 2013​ KB4484185 Download
​​SharePoint Server 2013​​​ KB4484188 Download
​Project Server 2013 KB4484187 Download
​15.0.5207.1000 ​January 2020 ​SharePoint Foundation 2013​ KB4484228 Download
​SharePoint Server 2013​​​ KB4484232 Download
​Project Server 2013 KB4484230 Download​
​15.0.5215.1000 ​February 2020 ​SharePoint Foundation 2013​ KB4484261 Download
​SharePoint Server 2013​​​ KB4484263 Download
​Project Server 2013 KB4484262 Download​
​15.0.5223.1000 ​March 2020 ​​SharePoint Foundation 2013​ KB4484278 Download
​​SharePoint Server 2013​​​ KB4484280 Download
​Project Server 2013 KB4484279 Download​
​15.0.5233.1000 ​April 2020 ​​​SharePoint Foundation 2013​ KB4484309 Download
​SharePoint Server 2013​​​ KB4484320 Download
​​Project Server 2013 KB4484318 Download
​15.0.5241.1000  ​May 2020 ​​​​SharePoint Foundation 2013​ KB4484358 Download
​SharePoint Server 2013​​​​ KB4484362 Download
​Project Server 2013 KB4484360 Download​
​15.0.5249.1001 ​June 2020 ​SharePoint Foundation 2013​ KB4484406 Download
​​SharePoint Server 2013​​​​ KB4484408 Download
​Project Server 2013 KB4484407 Download
​15.0.5259.1001 ​July 2020 ​​SharePoint Foundation 2013​​ KB4484444 Download
​​SharePoint Server 2013​​​​ KB4484447 Download
​Project Server 2013 KB4484445 Download
 
 
 

 

 

Office Web App 2013

To see which version of the OWA (also called the "Web Access Components" or "WAC") use the following PowerShell:  

(Invoke-WebRequest http://owa.contoso.com/m/met/participant.svc/jsonAnonymous/BroadcastPing).Headers["X-OfficeVersion"]
 
Build Number
Build Name
Information Link
Download Link
15.0.4420.1007
RTM
 
 
March 2013 PU whoops
KB2760486
 
15.0.4481.1005
March 2013 PU
15.0.4481.1508
April 2013 CU
15.0.4505.1001
April 2013 Hotfix
15.0.4517.1003
June 2013 CU
15.0.4535.1000
August 2013 CU
15.0.4551.1003
October 2013 CU
15.0.4551.1508
December 2013 CU
15.0.4551.1515
MS14-001 Security Update
15.0.4569.1000
Service Pack 1
15.0.4569.1000
Service Pack 1 - Mark 2
15.0.4605.1001
April 2014 CU
15.0.4615.1001
MS14-022
Links in KB
15.0.4623.1001
June 2014 CU
15.0.4631.1000
July 2014 CU
15.0.4641.1001
August 2014 CU
15.0.4659.1001
October 2014 CU
November 2014 CU
None
None
15.0.4673.1000
December 2014 CU
January 2015 CU
None
None
15.0.4693.1001
February 2015 CU
15.0.4701.1001
March 2015 CU
15.0.4711.1000
April 2015 CU
​​KB2965306
15.0.4719.1002
May 2015 CU
15.0.4727.1001
June 2015 CU
15.0.4737.1001
July 2015 CU
15.0.4745.1001
August 2015 CU
15.0.4753.1001
September 2015 CU
15.0.4763.1000
October 2015 CU
November 2015 CU
No Updates
December 2015 CU
No Updates
January 2016 CU
No Updates
15.0.4797.1001
February 2016 CU
15.0.4805.1000
March 2016 CU
15.0.4815.1000
April 2016 CU
15.0.4823.1003
May 2016 CU
15.0.4833.1003
June 2016 CU
15.0.4841.1000
July 2016 CU
​​15.0.4849.1000
August 2016 CU
​​KB3115446
15.0.4859.1000
September 2016 CU
15.0.4867.1000
October 2016 CU
15.0.4875.1000
November 2016 CU
December 2016 CU
No Updates
January 2017 CU
No Updates
February 2017 CU
No Updates
15.0.4911.1001
March 2017 CU
15.0.4919.1001
April 2017 CU
​​KB3178725
15.0.4927.1001
May 2017 CU
15.0.4937.1001
June 2017 CU
July 2017 CU
No Updates
August 2017 CU
​​No Updates
15.0.4963.1001
September 2017 CU
​15.0.4971.1000 KB4011231 Download​
​15.0.4981.1002 ​November 2017 CU KB4011247 Download
​15.0.4989.1001 ​December 2017 CU KB4011587 Download​
​15.0.4997.1001 ​January 2018 CU KB4011648 Download​
​February 2018 CU ​​No updates
​15.0.5017.1001 ​March 2018 CU KB4011692 Download
​15.0.5023.1001 ​April 2018 CU KB4018344 Download​
​15.0.5031.1001 ​May 2018 CU KB4018393 Download​
​15.0.5041.1000 ​June 2018 CU KB4022183​ Download​
​July 2018 CU ​No Updates
​15.0.5059.1000 ​August 2018 CU KB4022238 Download​​
​September 2018 CU ​​No Updates
​October 2018 CU ​No Updates
​15.0.5085.1000​ ​November 2018 CU KB4092473 Download
​15.0.5093.1000​ ​December 2018 CU KB4461551 Download
​January 2019 ​No Updates
​15.0.5111.1001 ​February 2019 KB4461593 Download​
​March 2019 ​​No Updates
​April 2019 ​​No Updates
​May 2019 ​​No Updates
​June 2019 ​No updates
​July 2019 ​No updates
​August 2019 KB4462216 Download​
​September 2019 ​​No updates
​October 2019 ​​No updates
​November 2019 ​​No updates
​December 2019 ​​No updates
​January 2020 ​No updates
​February 2020 ​No updates
​March 2020 ​No updates​
​15.0.5233.1000 ​April 2020 KB4475609 Download
​May 2020 ​​No updates
​June 2020 ​No updates
​15.0.5259.1001 ​July 2020 KB4484357 Download​
 

 

Back to Top

Workflow Manager 2013

To see which version of Workflow Manager and Service Bus are installed, use the following PowerShell:

(Get-ChildItem -Path "C:\Program Files\Workflow Manager\1.0\Workflow\Artifacts\Microsoft.Workflow.Service.dll").VersionInfo

(Get-ChildItem -Path "C:\Program Files\Service Bus\1.0\Microsoft.ServiceBus.dll").VersionInfo
or
(Get-ChildItem -Path "C:\Program Files\Service Bus\1.1\Microsoft.ServiceBus.dll").VersionInfo
 
When you install Workflow Manager CU 1 you also have to install Service Bus CU1. Also make sure you patch the Workflow Manager client on SharePoint servers that are not running the Workflow Manager service. See more details on how to patch Workflow Manager on Andrew Connell's blog.
 
Build Number
Build Name
Information Link
Download Link
1.0.20922.0 (2.0.20922.0)
RTM - Service Bus 1.0 and Workflow Manager 1.0
1.0.30207.2 (2.0.30207.2)
CU 1 - Service Bus 1.0
1.0.30207.2 (2.0.30207.2)
CU 1 - Workflow Manager 1.0
1.0.40131.0 (2.1.30904.0)​
CU 2 - Workflow Manager 1.0
​1.0.51113.2 (2.1.40512.2) ​CU 3 - Workflow Manager 1.0 KB3104066 Download​
​CU 4 - Workflow Manager 1.0 KB4019220 Download
​CU 5 - Workflow Manager 1.0 KB4055730 Download​

 

AppFabric (Distributed Cache)

​It's okay to patch AppFabric.

Date Build Name​​
Information Link
Download Link​
​3/27/2012 CU 1​ KB2671763 Download

6/27/2012

​​CU 2 (1.1.2116.2)
KB2716015 ​​Download
​12/12/2012 CU 3​ (1.1.2118.2) KB2787717 ​​Download
4/12/2013 ​​CU 4 (1.1.2124.2) KB2800726 ​​Download
3/25/2014 ​CU 5​ KB2932678 ​​Download
​4/21/2015 CU 6​ KB3042099 ​​Download
11/10/2015 ​​CU 7 ​KB3092423 ​​Download
 

tk

 
 
Category: SharePoint 2013
# Comments:

How to use PowerShell to Find all the Flows in Your Tenant

$
0
0
Body:

I have a OneNote file that is full of blog posts that seemed like a great idea at the time, but never saw the light of day for various reasons. Maybe I couldn’t research it as much as I wanted, maybe I couldn’t make it as thorough as I wanted, maybe I just got distracted by something shiny. This blog post is one of them. I was never confident enough to post this one, but given all the Workflow excitement, and a couple of customer requests I decided to dig in and get serious about it. So here it is, two years after I first took the notes for it.

As an administrator, I find myself frustrated a lot by the lack, or at least lack of understanding on how to manage Flows and Power Apps. They never quite behave exactly like I want them to. One of the things that keeps coming up is being able to get a list of all of the Flows in a Tenant. This could be for licensing questions, migrating questions, or just plain curiosity. Whatever it is, it’s never as easy as I want it to be. Being the fanboy of PowerShell that I am, that’s where I looked. Without boring you with a lot of story part, I’ll show you the PowerShell I settled on.

Get-AdminFlow | ForEach-Object { $user = Get-UsersOrGroupsFromGraph -ObjectId $_.CreatedBy.userId;[PSCustomObject]@{ FlowName = $_.DisplayName; OwnerName = $user.DisplayName ; OwnerEmail = $user.UserPrincipalName ; }; }

Let’s break that down a bit. You’ll need to install the PowerApps and Flow for Admins module. Install the PowerApps and Flow for Makers module while you’re at it. If you don’t run Add-PowerAppsAccount and add your Tenant Admin account you’ll get prompted for authentication the first time you run Get-AdminFlow.

Get-AdminFlow lists all of the Flows in a tenant, but not in the most user friendly way:

image

So I cleaned it up a bit. Using ForEach-Object I walk through each Flow. I use Get-UsersOrGroupsFromGraph to get the Owner object. Then I create a PSCustomObject and populate it with the Flow’s DisplayName and the user’s DisplayName and UserPrincipalName properties. It looks like this:

image

Making it an object is a little extra work as opposed to just spewing it onto the screen with Write-Host. But it’s worth the extra effort because I can send it down the pipeline and do more with it. For instance, I can easily pipe it out to a CSV file by appending | Export-Csv -Path .\Flows.csv –NoTypeInformation to the end.

image

That seems a bit anticlimactic at first, but open up that CSV file and prepare to be amazed.

image

If you want different information about each Flow, run Get-AdminFlow | Get-Member and see what other properties are exposed to you.

Let me know if this helps and what else you’d like help with.

tk

ShortURL: https://www.toddklindt.com/POSHFindAllFlows

Edit 7/15/2020 – Changed the PowerShell to be more efficient, but now it doesn’t match the screenshots.

# Comments:

Use PowerShell to Work with SharePoint 2010 Workflow Scan

$
0
0
Body:

Workflow Retirement Series TOC

Part 1 - SharePoint 2010 and 2013 Workflows Kaput in Office 365
Part 2 - Finding All the SharePoint 2010 Workflows in SharePoint Online
Part 3 - Find Only the Active SharePoint 2010 Workflows in SharePoint Online 
Part 4 - Use PowerShell to Work with SharePoint 2010 Workflow Scan

In Part 2 of my much beloved “Workflow Retirement Series” I covered how to scan your SharePoint Online environment for those pesky SharePoint 2010 workflows with the free SharePoint Modernization Scanner. I figured that was that. I was preparing to do my victory lap when I started getting some feedback. It seems some folks have a a lot of workflows in their environment, and a CSV file with a few hundred, or a few thousand rows isn’t terribly helpful. Now, once you get that CSV file into Excel you have one of the best data slicing and dicing tools invented by man at your disposal. You can slap a couple of filters on there, sort a few columns, hide a few others, and you can probably get whatever information you need. But I’m a PowerShell guy. I like to do things the hard way, with maximum typing. Let’s walk through what I did.

One of the reports the SharePoint Modernization Scanner makes is

ModernizationWorkflowScanResults.csv  and that’s the one I’m going to use. Since it’s a pretty well formed CSV file we can import it into an object without much fuss:

$results = Import-Csv .\ModernizationWorkflowScanResults.csv

As a gut check we can see how many rows we brought in:

$results.Count

You can also type $results[0] to see the first row, since it’s just an object. And since it’s an object, it has Members that we can exploit. What are those Members? I’m glad you asked:

$results | Get-Member

image

My eagle-eyed readers will notice that the NoteProperties are the column headers in the CSV file. To get my feet below me I did a simple Select to get a few properties:

$results | select "Definition Name",Version

You can add any of the columns you want. Remember to put quotes around the columns with spaces in the name.

$results | select "Definition Name","Subscription Name","List Title",Version,enabled

Depending on how your PowerShell host is configured that might be wide enough that might switch from table to list. To get it back to table pipe it through Format-Table:

$results | Select-Object "Definition Name","Subscription Name","List Title",Version,enabled,"Flow upgradability" | Format-Table –AutoSize

SNAGHTML192591b3

This report has both SharePoint 2010 and SharePoint 2013 workflows in it. The current fire is around SharePoint 2010 workflows, so let’s just look at those:

$results | Where-Object -Property version -EQ -Value "2010" | Select-Object "Definition Name","Subscription Name","List Title",Version,enabled,"Flow upgradability" | Format-Table -AutoSize

That should give you a better picture of the Herculean task in front of you. There’s one final piece I want to show you, and that’s how to see which sites have the most workflows:

$results | Where-Object -Property version -EQ -Value "2010" | Select-Object "Definition Name","List Title",enabled,"Site Url" | Group-Object -Property "Site Url" | Format-Table –AutoSize

SNAGHTML1926b330

This will help you figure out where to focus your efforts between now and November 1st.

Like I said at the beginning of this post, all of this and more is available in Excel and most of it has been done for you already in the Office 365 Classic workflow inventory.xlsx report that the SharePoint Modernization Scanner creates. But it’s a fun PowerShell exercise just the same.

tk

ShortURL: https://www.toddklindt.com/PoshWorkflowScan

# Comments:

Create "All Users" Groups and Distribution Lists in Office 365 and Azure AD

$
0
0
Body:

Some blog posts just beg to be written, and this is one of them. I swear I’ve had this conversation half a dozen times in last month after having never had it at all before. It just keeps coming up, I’m guessing because the adoption of Office 365 has really taken off in the last 5 months. What’s the topic? It boils down to, “How do I create a Team/Distribution List/SharePoint site that is always available everyone in the company?” The first couple of times the topic came up I tried to talk the customer out of it. I’m usually not a fan of big blast communication like that, and in the case of products that are built on top of Microsoft 365 Groups, there are published limitations to this. It just seemed like a bad idea. But every time a customer asks me about it I understand it a little better, so I threw this blog post together to point people at if they want to do it. This post is meant to be  technical, not prescriptive. I won’t cover why you should employ any of these techniques, but how you can do them if you have already decided they are a good idea. I’ll leave the why up to people that are smarter than me.

The Options

There are several “All User” communication methods that have come up in my discussions with customers. I’ll cover how to enable them. They all leverage the functionality of updating dynamically as people join your company. Your company could already handle adding people to Distribution Lists (DLs) as part of your onboarding process. All of my examples will show how to keep the All User list populated automatically. All of these examples also assume the groups are cloud only, not synced from on-prem Windows Active Directory.

Distribution Lists (DLs)

The first option I’ll cover is the old tried and true email Distribution List. These things have been around since shortly after prehistoric fish came on land from the primordial soup and they’ve been going strong ever since. DLs are email only  and they’re a good way to send out company wide things like “There are donuts in the breakroom. Get here quick before Gary eats them all” or “The CEO is feeling generous and she’s giving everyone (except Gary) Friday off!”

To do this, create a new DL and make it a dynamic DL. This one is a little tricky. When you create a dynamic anything you have to provide a rule so that Azure AD (AAD) knows whether someone should be in the thing or not. In the case of a dynamic DL the way to get everyone is to create no rule. If there’s no rule, emails sent to that DL end up in every mailbox in your tenant. If you currently have any static DLs they cannot be changed to dynamic DLs, but they can be upgraded to Office 365 Groups. Dynamic DLs cannot be upgraded to Office 365 Groups. I’ve also had customers set one of these up and send News Digests from SharePoint Online to it. The owner of the dynamic DL does not need to be IT or have any elevated roles in the tenant.

How do I Create one?

There are a couple of different ways to create a dynamic DL. You can do it in the Exchange admin center in Office 365. Then navigate to the Groups tab. Next to New Microsoft 365 Group click the dropdown and select Dynamic distribution list.

image 

The configuration will look something like this. Do not add a rule.

image 

Once your dynamic DL is created there are some fun settings you can play with. For instance, you can moderate messages and have approved senders.

If you’re super cool, you can create dynamic DLs with PowerShell. First connect to Exchange Online PowerShell, then run New-DynamicDistributionGroup:

New-DynamicDistributionGroup -IncludedRecipients MailboxUsers -Name "Blog Lovers"

Doesn’t that feel better than using the UI? I thought so.

Security Groups and Microsoft 365 Groups

Both AAD Security Groups and Microsoft 365 Groups support dynamic membership, so they can be used the same way. A dynamic, all company, Microsoft 365 Group can be used for a site that you want everyone to have access to, and they’ll all get emails sent to that Group’s DL. Depending on how the Group is configured or how the users configure their mail client the Group’s emails may or may not show up in their Inbox. There will also be a Team for that Group that everyone will be in. Lots of ways to annoy everyone with one of these. I honestly can’t think of a way to leverage a Security Group in the context of Office 365, but I added since it’s the same process as the Office 365 Group, and it makes this blog post look that much longer.

How do I Create Them?

As we are all painfully aware, there are just shy of 117 different ways to create an Microsoft 365 Group. I think two more have been added since I started writing this blog post. There might be more than one way to create a dynamic Microsoft 365 Group, but I’m only going to cover how to do it in the Azure AD Portal and with Azure PowerShell. Navigate to the Groups blade and click "New group.” Under Membership type choose “Dynamic User”

image 

If Membership type is greyed out that’s because the user creating the group does not have an Azure AD Premium license.

To set the rule, click “Edit dynamic query” button to get to the rules page. The rule we want is “user.objectId -ne null”. You can build that in the wizard at the top. Don’t worry about a user’s ID actually being “Null.” The rule knows the difference between null and “Null.” Ned Ull will not be the only member of the Group.

image 

Once you tab out of the Value box the Save button will light up and you’ll be able to save the query and go back to creating your group. The process is the same for Security Groups.

But what about PowerShell?? I’m so glad you asked. Make sure you have the AzureAD module loaded and you’re connected as an account that can create Groups. Then run this little gem to create a Dynamic Microsoft 365 Group:

New-AzureADMSGroup -DisplayName "Dynamic M365 Group From PowerShell!" -Description "Dynamic group created with PowerShell!" -MailEnabled $true -MailNickName "Dynamic-M365-Group-From-PowerShell" -SecurityEnabled $True -GroupTypes "Unified","DynamicMembership" -MembershipRule "(user.objectId -ne null)" -MembershipRuleProcessingState "On"

If you only want a Security Group (I’m not sure why) change the –MailEnabled parameter to $false, and the –GroupTypes to only DynamicMembership, like this:

New-AzureADMSGroup -DisplayName "Dynamic Security Group From PowerShell!" -Description "Dynamic security group created with PowerShell!" -MailEnabled $false -MailNickName "Dynamic-Security365-Group-From-PowerShell" -SecurityEnabled $True -GroupTypes "DynamicMembership" -MembershipRule "(user.objectId -ne null)" -MembershipRuleProcessingState "On"

It is also possible to switch an existing static Security Group or Microsoft 365 Group to dynamic. It’s a long process, and this article does a good job explaining how. I don’t think there’s a way to convert a Security Group to a Microsoft 365 Group.

Happy Dynamic Group Creating!


Question #1: "Can you use Dynamic Groups with Audience targeting?"
Answer #1: Despite this Microsoft Support document saying otherwise, I was able to target links in both Global (top) Nav and Quick (left) Nav by audience with a Dynamic Microsoft 365 Group. 

Question #2: "Does the 'user.objectId -ne null' approach include Guests?"
Answer #2: I'm not sure, I'll look into that and update this blog post. 


tk

ShortURL: https://www.toddklindt.com/CreateDynamicGroups

Edit: 8/24/20 to add questions

# Comments:

Free SharePoint Migration Webinar with me!

$
0
0
Body:

My friends at SysKit have been kind enough to do all the work for me to put on a free webinar on SharePoint migration. Those folks are the best! They do all the work, and you and I get to chat about one of our favorite topics! The big day is Wednesday September 16th. It’s 10:00 am CDT

The registration is free, and you can find out more details and sign up here.

I’ll give some good advice, and tell some stories, and generally have fun. Join me, I’d love to see you there.

tk

ShortURL: https://www.toddklindt.com/SyskitWebinar

# Comments:

How to Keep Unwanted Visitors out of my Basement Office

$
0
0
Body:

With all of the working from home that’s going on, and all of the kids not going to school, it can be tough to keep the latter out of the former. In my continuing practice of making things more complicated than they need to be, I came up with a way for my kids to know they should not go down into the basement.

20200320_141751 

Come on down. And…

20200320_141733 

You shall not pass!

I posted those pictures on Facebook and a few friends asked me what I was using. It’s not as complicated as I’d like it to be, but it’s a work in progress. I can control it with an IR remote, an app on my phone, and with my digital assistant, Alexa. When I’m at my desk I only need to bark out, “Alexa, set busy lights to Red!” and she does.

I cobbled my solution together with parts I already had in “that damned box.” Since some of you don’t have that box (I feel so bad for you), here’s a link to a comparable package, Nexlux LED Strip Lights. If you want to put your own package together you’ll need three pieces; a power supply, a controller, and an LED light strip. You’ll find a nearly endless supply of combinations of those on Amazon. I used double-sided tape to stick the light strip to the door frame. The light strip has adhesive on the back, but my experience has shown that the heat from the LEDs degrades that adhesive pretty quickly.

I mentioned above that I have a few ways to change the light colors based on the controller I have. There is the included IR remote, the included app, and Alexa integration. Right now I don’t have any automation set up where the lights change based on my presence in Office 365 or my calendar. That may come later.

I was telling a friend of mine about this. He’s less inclined to nerd out on things like this. His loss. He thought he might just connect a string of Christmas lights up to a smart plug and get the same result. That would work too and would have all the same integration points depending on which smart plug you get. I have a few Wemo smart plugs from Belkin and they’ve treated me pretty well. They also integrate with IFTTT so I can have them flash a lamp when the garage door opens, fun things like that.

If this article was interesting, let me know. I’ll post some of my other home automation projects.

I've seen a couple of blog posts of people that have done this better than I have. Check out April Dunham's post​ on it and also Elio Struyf's

tk

ShortURL: https://www.toddklindt.com/SmartBusyLight

Category: Tech Stuff; IoT
# Comments:

How to Disable the Flow button in SharePoint Online

$
0
0
Body:

Now, now, I know what you’re thinking, “This is a terrible idea! Why would any want to disable Flow?? What’s Flow ever done to them anyway?” I’m right there with you, honest I am, but a customer asked me how to do this and I can’t imagine they’re the only ones trying to do it. So while I’m a big fan of Flow and think everyone should enjoy it, in the unlikely event your organization doesn’t want to, here’s how to disable it.

When things are in their default state, the Ribbon, or Toolbar in a Modern List or Document Library in Office 365 shows an easy to use link to wire up a Flow to the library. It looks like this:

SNAGHTML206e612 

Very cute, very innocent, but regardless, some folks don’t want it there. Even if the user hitting the list or library isn’t licensed to use Flow, it’s there. This is a per site collection setting, and nowhere in the site or site collection settings is there a place to shut it off. I turned on the Bat Signal, and PowerShell answered my call. Sort of…

The official Microsoft SharePoint Online cmdlets have a cmdlets, Set-SPOSite and it has a parameter, –DisableFlows. Are you thinking what I’m thinking? Of course you are. And it does what we want, kind of. Here’s how the whole solution looks:

Connect-SPOService -Url https://flowhater-admin.sharepoint.com

$val = [Microsoft.Online.SharePoint.TenantAdministration.FlowsPolicy]::Disabled
Set-SPOSite -Identity
https://flowhater.sharepoint.com/sites/Me2Hub -DisableFlows $val

You have to do the funny business with $val because the –DisableFlows parameter doesn’t accept a boolean, like a civilized parameter does, it requires its value to be in the form of a Microsoft.Online.SharePoint.TenantAdministration.FlowsPolicy object, whatever that is. So that’s what it gets.

Now when we go to our Document Library it looks like this:

SNAGHTML20d5a7a 

Sad, I know. When you come to your senses and want to reenable Flow, here’s how you do it:

$val = [Microsoft.Online.SharePoint.TenantAdministration.FlowsPolicy]::NotDisabled
Set-SPOSite -Identity
https://flowhater.sharepoint.com/sites/Me2Hub -DisableFlows $val

And now is all right in the world.

Unless you have the fancy Site Collections that are using Groups in the background. Then you get the “womp womp” sound from Set-SPOSite. Okay, it really says, “Set-SPOSite : https://flowhater.sharepoint.com/sites/SPODemo2-Test2 is a Groups site collection.” but we all know what it really means. A less motivated man would have given up at this point. He would have taken this as a sign from the universe that one should not be disabling Flows, it’s just unnatural. Not this man. (In reality, not this man’s customer). So I went to Plan B, the PnP PowerShell, and it did not disappoint. The PnP’s version of the Set-Site cmdlet works with Group Site Collections and doesn’t require any weird casting voodoo. Here’s how it looks:

Connect-PnPOnline -Url https://flowhater.sharepoint.com/sites/SPODemo2-Test2 -Credentials 'SteffenAdmin'

Set-PnPSite -DisableFlows:$true

Here’s how you right that wrong:

Set-PnPSite -DisableFlows:$false

That’s much easier, and works on all site collections.

There you have it. I hope you never have to use it. Smile

Edit: This does not work with Group connected sites.

tk

ShortURL: https://www.toddklindt.com/PoshDisableFlowButton

# Comments:

Tips for using the Microsoft Authenticator app for MFA

$
0
0
Body:

Earlier this month, Alex Weinert, the Director of Identity Security at a little company called Microsoft, published a blog post begging us to stop using SMS as the second factor for MFA. I’m an MFA kind of guy, I live the MFA life style, and I’m on board with that. As the majority of the accounts I use can use the Microsoft Authenticator app, that’s what I use the most. Other companies, like Google, also have authenticator apps. I’m sure they’re fine and well loved by their friends and families. Smile

Over the last few months I’ve moved most, if not all, of the apps and sites I can to MFA using the Microsoft Authenticator app and I’ve picked up a few tricks along the way. I thought I’d blog a few of them in case they help anyone else. Keep in mind this blog post was written in November of 2020 and the version of the app I’m using is 6.2010.7266 on Android.

Use Microsoft Your Phone

My first tip for using Microsoft Authenticator is not about using Microsoft Authenticator at all. It’s about using a Windows 10 feature called “Your Phone.” This feature, along with an app running on your phone, allow you to interact with your Android phone on your Windows 10 machine, or machines. I initially started using it to send text messages but it can do so much more. For instance, you can run phone apps on your PC, via screen sharing. One of those apps can be your friend and mine, Microsoft Authenticator. Since web sites (like Microsoft 365) and other services like VPN use codes generated from Microsoft Authenticator it is handy to have quick access to it on your PC. Here’s what it looks like:

image

That saves you fumbling with the UI on your phone, but you’d still need to look at your phone to get the code.

For this to really be helpful you also need to change a setting in the app to allow its screen to be captured. Go into Settings and enable Screen Capture:

image

If you don’t, you’ll see this on your PC when you open Microsoft Authenticator:

image

When I need to log into my GitHub account I fire up Your Phone on my computer, switch to the Microsoft Authenticator app and type the secret 6 characters in. Now I’m logged into GitHub and ready to cause some trouble.

Show the Codes

By default, when you open Microsoft Authenticator you’re greeted with a list of all of the accounts you’ve registered and you select the one you want to log in to. Authenticator takes you to a screen with the one-time passcode for that account. But all that clicking is sooo much work. I take advantage of the “Show Codes” option, like below.

image

That shows me all the codes for the accounts that support it. You can see how it looks in the first screenshot. Combining these two techniques my MFA process went from:

  1. Hunting around for my phone
  2. Unlocking it (unsuccessfully the first couple of times)
  3. Finding the Microsoft Authenticator app
  4. Finding the account I want to log in to
  5. Clicking it (so much work)
  6. Typing all six digits into the MFA prompt on my computer
  7. Collapsing from exhaustion

To this:

  1. Clicking the Microsoft Authenticator app on my Windows 10 Taskbar
  2. Copying the one-time passcode for the account
  3. Pasting into the MFA prompt
  4. There’s no step 4!

Wait, copy and paste the passcode? How’s that again?

Copy and Paste the Passcode

Once you have that set up you can actually copy the passcode from your phone in Windows and paste it into whatever web page or app is asking for it. To take advantage of this magic you need to enable copy and paste in the Your Phone app on Windows 10.

image

You might have to close the Authenticator app both on your phone and your PC for that to take effect. When you have it working, it’s a thing of beauty. Just copy the passcode with your mouse like you would any other application. There’s no visual indication that it’s copying, but trust me, it is. Go ahead, paste it into Notepad and see for yourself. Cool, huh?

Backup Your Settings

I recently heard a sad tale of woe from a friend of mine that uses Microsoft Authenticator for all of his MFA needs. Something went wonky on his phone and he lost a bunch of the account settings. He had to go through a lot of work to get it all set back up. That’s when he and I both noticed the handy Backup functionality. Like all the other fun we’ve looked at it’s in the Settings page of the app. You can read all about it on this Docs Page. But the basic idea is, turn it on. Future you will appreciate your consideration and foresight.

There are a few other fun Authenticator tricks, but these are my favorites. Are you using Authenticator and have tips to share? Put them in the comments below.

tk

ShortURL: https://www.toddklindt.com/MSAuthTips

Category: Office 365
# Comments:
Attachments: https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_10_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_8_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_thumb_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_thumb_4_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_thumb_1_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_2_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_thumb_3_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_6_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/wlEmoticon-smile_2_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_thumb_2_000A476C.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/880/image_4_000A476C.png

Making the move from SharePointPnPPowerShellOnline to PnP.PowerShell

$
0
0
Body:

As the new year approaches I find myself making changes. Like everyone on the planet I plan to eat less and exercise more. I also plan on making another change, I’ll be moving away from my friend the venerable old SharePointPnPPowerShellOnline module to the new, sexier PnP.PowerShell. I thought I’d blog the experience so you all can follow along.

Why the Move?

The SharePointPnPPowerShellOnline module has been good to me over the last few years. It has helped me do amazing things both in PowerShell and in SharePoint. Why would I ever give that all up? Because the times, they are a-changing. The SharePointPnPPowerShellOnline module is being retired and all of that effort is being channeled to the PnP.PowerShell module. The SharePointPnPPowerShellOnline module will continue to be around for the on-prem versions of SharePoint Server (though not updated), but for SharePoint Online/Office 365/Microsoft 365 you’ll need to use the PnP.PowerShell module.

Why did the PnP team decide this? You can get the whole story at the official PnP PowerShell page, but there are two main reasons. The first is wider platform support. SharePointPnPPowerShellOnline had .NET dependencies that meant it would only run on Windows PowerShell. Emphasis on Windows. When that module was first created 6 years ago that made perfect sense, but since then PowerShell has gone open source and now runs on a variety of platforms like Mac, Linux, a variety toasters, etc. Since SharePointPnPPowerShellOnline required Windows it couldn’t follow PowerShell onto those other platforms. The PnP.PowerShell module was written without those Windows dependencies so it can run anywhere PowerShell can run. You may not use a Mac, but this also means that you can use PnP.PowerShell more easily in cloud environments like Azure Functions.

The second reason was to give wider application support. The SharePointPnPPowerShellOnline mostly supported SharePoint, as the name would suggest. These days you can’t manage SharePoint Online without also needing to touch Microsoft Groups, Teams, etc. The PnP added more and more cmdlets to handle that, but there were some big authentication changes that needed to be made to fully support all of the other applications. They started adding some of that to SharePointPnPPowerShellOnline, but it was cobbled together a bit. While they were refactoring the module for .NET Standard they went ahead and made some sweeping authentication changes that mean we’ll be able to use it more easily for SharePoint and all of the other applications we know and love.

First Step PowerShell 7

The first step to moving to the PnP.PowerShell module is to install PowerShell 7, also called PowerShell Core. I’m on Windows, so that’s the process I’m going to walk through. Windows comes with PowerShell, Windows PowerShell 5.1. To use PowerShell 7 we’ll have to install it. Windows PowerShell 5.1 and PowerShell Core 7 can happily coexist on your machine, so you don’t have to worry about breaking any of your other existing PowerShell scripts or tools.

image

You can see from this screenshot I have both versions of PowerShell installed and running on this machine. You can use the system variable $PSVersionTable to see which version of PowerShell your host is currently using. It’s also pretty easy to pick the version of PowerShell you want when firing it up.

image

While PowerShell 7.x can coexist with Windows PowerShell 5.x, it will replace PowerShell 6.x if you have that installed.

I installed PowerShell 7 by downloading the installation MSI from the GitHub page. For me that was the Windows x64 platform and I grabbed the stable build. That file was PowerShell-7.1.0-win-x64.msi, but obviously that filename will change as PowerShell 7 advances. Then I popped open a Windows PowerShell 5 (oh, the irony) prompt in Admin mode and ran the MSI.

image

The friendly wizard walked me through the process. There are few installation choices to make, but I’ve found the defaults are usually fine.

After the installation is finished you’ll have both Windows PowerShell 5.x and PowerShell Core 7.x. Time to install some modules.

The Module

Installing the PnP.PowerShell module is pretty easy, but if you have the older SharePointPnPPowerShellOnline module installed you’ll need to uninstall it first. The cmdlet names in both modules are the same, So PnP.PowerShell won’t install all of its cmdlets while there are collisions with the old version. To uninstall the SharePointPnPPowerShellOnline module open up a Windows PowerShell 5 host in Admin mode and enter this:

Uninstall-Module SharePointPnPPowerShellOnline –AllVersions

and wave a fond farewell to our old friend. After that’s finished, and you’re done sobbing, open up a shiny new PowerShell Core 7 host in Admin mode. While you’re in there opening up in Admin mode, go ahead and add PowerShell 7 to your Start Menu and your Taskbar. You’ll thank me later.

image

Then issue this command:

Install-Module PnP.PowerShell –AllowPrerelease

image

You’re all done. Since PnP.PowerShell is not an official release yet you’ll need the scary sounding –AllowPrerelease parameter. After January of 2021 you won’t need that anymore.

Finally, Authentication

I mentioned earlier that one of the reasons for changing modules was a change in authentication. I don’t want to get too deep into it in this blog post but I do want to mention that you should run Register-PnPManagementShellAccess to set up a an Azure Application Registration. This is the magic that allows the new PnP PowerShell access to all of the applications in Office 365. You may have seen this referred to as Graph API. I’ll dig into it later, but for now all you need to know is that a tenant admin needs to run the PnP.PowerShell version of Register-PnPManagementShellAccess once in your tenant. After that is in place you should be able to use Connect-PnPOnline and get connected.

tk

ShortURL: https://www.toddklindt.com/NewPnPPowerShell

# Comments:
Attachments: https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_1_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_2_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_5_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_8_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_10_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_3_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_4_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_12_39CB0AD8.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_4_39CB0AD8.png

Using both PnP PowerShell Modules with PowerShell 5 and PowerShell 7.

$
0
0
Body:

Since the PnP team announced that the venerable SharePointPnPPowerShellOnline module was going to be replaced by the shiny, new PnP.PowerShell module there has been some confusion on which module to use and which PowerShell to use. I have good news, the answer is “D. All of the above.” In this blog post I’ll show you how you can have both modules installed and use them interchangeably as well as use either of them on whatever version of PowerShell tickles your fancy.

A Few Words about Modules

Before we can get into how to do this I want to spend some pixels on why we have to do it the way we do. I intended to publish this blog post a couple of weeks (okay, months) ago but as I was doing my research I kept learning more. Most of the learning was around the “Module” cmdlets and what each of them does. In order to get the two modules to cooperate we need to use the right Module cmdlets at the right time. Here are the Cliff’s Notes:

The System

Several Module cmdlets deal with what PowerShell Modules are installed on your system with PowerShellGet. There are a lot of ways to install Modules into PowerShell and PowerShellGet is one of the most popular and it’s built into PowerShell. Here are the pertinent cmdlets and what they do:

  • Install-Module – Downloads a module from a repository (the PowerShell Gallery by default) and installs it on the system.
  • Get-InstalledModule – Lists the modules that were installed on the computer with PowerShellGet
  • Uninstall-Module – Uninstalls a packages from that computer that was installed with PowerShellGet

The key here is that the scope of those commands, and the other PowerShellGet cmdlets, is the whole computer

The Host

“Host” is a fancy word for PowerShell window or console. There are a few common Module cmdlets that deal only with the host they’re run in. Here are some of my favorites:

  • Import-Module – Imports a module that was already installed on the computer into the host
  • Get-Module – Lists the modules currently imported into the host. The –ListAvailable parameter shows modules installed on the computer that can be imported into the host
  • Remove-Module – Unloads (unimports? exports?) a module from the host

These cmdlets are all part of Microsoft.PowerShell.Core as opposed to PowerShellGet.

The Import Business

Now we know how to get a module installed onto our computer, and how to manually coax it into our host. But most of us have never done all this Import-Module business but everything seems to work. How’s that? PowerShell has the ability to automatically load modules when they’re needed. The entire, exciting, story of how PowerShell imports modules is chronicled here, but I’ll give you the highlights. If you try to use (or reference it with something like Get-Command) a cmdlet that isn’t in a module already loaded PowerShell will walk through the PSModulePath locations looking into each module for the cmdlet you’re trying to run. If it finds it, it implicitly imports that module and Bob’s your uncle. You can use $env:PSModulePath to see where PowerShell will look. It’s important to note that Windows PowerShell 5 and PowerShell 7 have similar, but different PSModulePaths. Here’s what it looks like in both. I added -split ";" to put each path on its own line, and I piped it through Sort-Object to make them easy to keep track of.

image 

image 

$env:PSModulePath -split ";" | Sort-Object

To make either Module, SharePointPnPPowerShellOnline or PnP.PowerShell, available to both Windows PowerShell 5 and PowerShell 7 it has to be installed in one of the paths that both versions of PowerShell will look in. For backwards compatibility PowerShell 7 looks in the PowerShell 5 paths, so I do the Install-Module bit in PowerShell 5 and PowerShell 7 gets it for free. You could install it in both, that works. But this way keeps you from having to update it both places every time a new version comes out. The PnP.PowerShell module is aimed for PowerShell 7, but also works fine in PowerShell 5. Erwin​ told me they may remove that support in future, but for now it’s safe.

You can see from the screenshots that I have my Known Folders redirected to OneDrive. When installing these modules PowerShell was installing them to my personal folders and it was causing problems. A couple of the Module cmdlets don’t handle that well. To get around some of that chicanery I had to install the modules in a different path. The easiest way I found to do that was the specify the scope Allusers, like this:

Install-Module PnP.PowerShell -Scope AllUsers

In PowerShell 5 that installed into C:\Program Files\WindowsPowerShell\Modules\PnP.PowerShell, which PowerShell 7 can see so it can be imported into a host of either version and it’s not in OneDrive.

Using Both Modules in Both PowerShells

We know both PowerShells can run both modules if we install it right. To get everything playing nicely I uninstalled both modules from both versions of PowerShell using Uninstall-Module -Force –AllVersions. In one case Uninstall couldn’t clean it all up so I had to go into the file system and delete the folder manually. I also had to close the host various times as it had imported the module I was trying to uninstall and I couldn’t get it unloaded in that host.

After all the uninstalling was done I closed all of the PowerShell windows I had open and I opened a PowerShell 5 window in Admin mode. I installed the old module with this:

Install-Module -Name SharePointPnPPowerShellOnline -Scope Allusers

That made it so it could be imported into both PowerShell 5 and PowerShell 7. Next I installed the PnP.PowerShell module. This one took a bit of extra coaxing.  It’s currently in prerelease so Install-Module requires the –AllowPrerelease parameter. The version of PowerShellGet in PowerShell 5 does have that. I had to upgrade PowerShellGet first with this line:

Update-Module -Name PowerShellGet

I close the window and opened a new one for good measure. This put me at version 2.2.5 of PowerShellGet. One problem solved. The second problem is that PnP.PowerShell and SharePointPnPPowerShellOnline share most of their cmdlet names, so a regular Install-Module is going to fail. To fix that we need to use the –AllowClobber parameter. The whole thing looks like this:

Install-Module -Name PnP.PowerShell -AllowPrerelease –AllowClobber

At first this sounds scary, but remember, Install is just dropping the bits onto your computer. You can still control which module gets loaded in a script or host. To do that using Import-Module. The key is to use Import-Module before you do anything that will trigger PowerShell implicitly loading the module for you. If you want to force your script to use a specific module include one of these lines at the top:

Import-Module PnP.PowerShell

or

Import-Module SharePointPnPPowerShellOnline

You would do the same thing in a PowerShell window when you open it to run some cmdlets. I’ve been doing this for a few weeks and it works well.

Using Both Modules in the Same Host

Now I’m just going to show off a bit. Smile We know we can load either module into a host, but what if we need both modules into the same host or script at the same time? It came be done! It sounds like magic, but it works. The key is using the –Prefix parameter of Import-Module. If you want both modules loaded and available in the same window you need to import one with a prefix. It looks like this:

Import-Module SharePointPnPPowerShellOnline -Prefix Old

image 

You can see from the screenshot that both sets of cmdlets are available, with the SharePointPnPPowerShellOnline versions having the additional prefix of “Old.” I wouldn’t recommend doing this as a normal course of action, but it’s good to know it’s there. PowerShell 7 is a little fussy when doing this. I had issues importing the old version if I had already imported the PnP.PowerShell module explicitly or implicitly, which is why I didn’t in this screenshot. Get-Command implicitly loaded it for me, so that wasn’t an issue. PowerShell 5 handles it more gracefully.

The End

There it is, the culmination of weeks (maybe months) of me fiddling around to understand the inner workings of PowerShell module installing and importing. Thanks to Jeff Hicks​ for holding my hand and answering all my dumb questions. Hopefully my pain will make your transitions from PowerShell 5 to PowerShell 7 and from SharePointPnPPowerShellOnline to PnP.PowerShell easier.

tk

ShortURL: https://www.toddklindt.com/PoshBothModules

# Comments:

The new PnP.PowerShell Module is live!

$
0
0
Body:

As of January 19th, 2021 the new and improved PnP.PowerShell module is no longer prerelease and is ready for the masses. You can also find it in a GitHub repo. It replaces the venerable SharePointPnPPowerShellOnline module we all know and love. The new module has a lot changes, but here are a few of the highlights:

  • PnP.PowerShell only works with online products like SharePoint Online and Microsoft 365. It does not work with SharePoint Server platforms like SharePoint 2013, 2016, or 2019.
  • It is built on .NET core 3.1 so it runs on non Windows platforms like Linux, Mac, and Azure Functions. SharePointPnPPowerShellOnline is built on .NET 4.6.1 and only runs on Windows.
  • PnP.PowerShell is focused on all of Microsoft 365, not just SharePoint. SharePointPnPPowerShellOnline started out focused on SharePoint and other things have snuck in over the years, but were never supported as well as we would have liked.
  • Authentication relies on App Registrations. To facilitate the cross application support the module relies on Graph API permissions as opposed to straight up usernames and passwords. SharePointPnPPowerShellOnline uses App Registrations as well, but it’s not built on that premise like PnP.PowerShell is.

If you can, you should uninstall the SharePointPnPPowerShellOnline module and install PnP.PowerShell everywhere. You should also stop using Windows PowerShell 5.1 and move over to PowerShell 7.x. There are a couple of legit reasons why you can’t though. I have a whole blog post, “Using both PnP PowerShell Modules with PowerShell 5 and PowerShell 7” that covers how to have both modules and both shells available to you. For those of you with short attention spaces I’ll give you the tl;dr:

Open PowerShell 7.x in Administrator mode and uninstall all the modules:

Uninstall-Module SharePointPnPPowerShellOnline -Force –AllVersions
Uninstall-Module PnP.PowerShell -Force –AllVersions

That should clear all the appropriate modules out of PowerShell 7.x. You’re good there.

Now open Windows PowerShell 5.1 in Administrator mode. Here you’ll uninstall all the modules and reinstall them:

Uninstall-Module SharePointPnPPowerShellOnline -Force –AllVersions
Uninstall-Module PnP.PowerShell -Force –AllVersions

For good measure I close down the Windows PowerShell 5.1 host and open a new one before I install the new version. That might not be necessary, but it feels like cheap insurance. Either way, in a Windows PowerShell 5.1 Administrator shell install both modules:

Install-Module -Name SharePointPnPPowerShellOnline -Scope Allusers
Install-Module -Name PnP.PowerShell -Scope Allusers –AllowClobber

I added a little chocolate to the install commands to make them go down easier. First, I added -Scope Allusers to make sure Windows PowerShell 5.1 installs the module in a place that PowerShell 7.x can find it. I think any modules installed in an Admin window are installed there by default, but I’m not sure. Again, cheap insurance. Second, to the second (and any subsequent) module I added –AllowClobber. This tells PowerShell that it’s okay to install a module that has cmdlets that collide with cmdlets already on the system. This is okay because of the difference between installing a module and importing a module. You can read more about that in my previous post.

If you need one of the on-prem SharePoint Server modules use a line like this:

Install-Module -Name SharePointPnPPowerShell2019 -Scope Allusers –AllowClobber

You can have as many of these modules installed as long as you install the later ones with –AllowClobber.

Once you’ve got the modules installed you need to tell PowerShell which one to load. That’s done with the Import-Module cmdlet. When you open a new PowerShell window, or at the top of any PowerShell scripts, you can specify which PnP Module you want PowerShell to use. For instance:

Import-Module PnP.PowerShell

or

Import-Module SharePointPnPPowerShellOnline

or

Import-Module SharePointPnPPowerShell2019

Then you know you’ll get the version of Connect-PnPOnline (or whatever) your code is running.  In theory you could swap them in and out by using Remove-Module, but in reality there are some fiddley PowerShell things in the background (the AppDomain) that keeps this from being successful. My previous blog post does show you how to have multiple versions of the PnP module imported in the same window or script at the same time.

But really, stick to PnP.PowerShell and PowerShell 7 if humanly possible. Smile

I hope you find that all helpful. I don’t know about you, but I’m really excited about this new module.

tk

ShortURL: https://www.toddklindt.com/PoshNewPnPModule


# Comments:

What is a “Dev Tenant” and why would you want one?

$
0
0
Body:

My fellow Sympraxian Julie Turner recently published an outstanding blog post on what a Microsoft 365 Dev Tenant is and why you should get one. I’ve been a long time user of Dev or Demo tenants and I find them to be an invaluable resource both for people trying to gain skills in Microsoft 365, but also grizzled old veterans like myself. Like the old saying goes, “The question isn’t whether you have a Test Site, it’s whether you have a Production Site.” If you don’t have a Dev or Demo Tenant to test things in then you’ve just demoted your Production Tenant to a Test Tenant. Don’t be that person. Smile I did a session on the PnP PowerShell today for Petri.com. One of the people there was hesitant to try out PowerShell on their tenant. I recommended they get one of these Dev tenants and hone their skills there.

Be one of the cool kids. Read Julie’s blog post and grab a Dev Tenant.

tk

ShortURL: https://www.toddklindt.com/GetDevTenant

# Comments:

How to Keep Unwanted Visitors out of my Basement Office

$
0
0
Body:

With all of the working from home that’s going on, and all of the kids not going to school, it can be tough to keep the latter out of the former. In my continuing practice of making things more complicated than they need to be, I came up with a way for my kids to know they should not go down into the basement.

20200320_141751 

Come on down. And…

20200320_141733 

You shall not pass!

I posted those pictures on Facebook and a few friends asked me what I was using. It’s not as complicated as I’d like it to be, but it’s a work in progress. I can control it with an IR remote, an app on my phone, and with my digital assistant, Alexa. When I’m at my desk I only need to bark out, “Alexa, set busy lights to Red!” and she does.

I cobbled my solution together with parts I already had in “that damned box.” Since some of you don’t have that box (I feel so bad for you), here’s a link to a comparable package, Nexlux LED Strip Lights. If you want to put your own package together you’ll need three pieces; a power supply, a controller, and an LED light strip. You’ll find a nearly endless supply of combinations of those on Amazon. I used double-sided tape to stick the light strip to the door frame. The light strip has adhesive on the back, but my experience has shown that the heat from the LEDs degrades that adhesive pretty quickly.

I mentioned above that I have a few ways to change the light colors based on the controller I have. There is the included IR remote, the included app, and Alexa integration. Right now I don’t have any automation set up where the lights change based on my presence in Office 365 or my calendar. That may come later.

I was telling a friend of mine about this. He’s less inclined to nerd out on things like this. His loss. He thought he might just connect a string of Christmas lights up to a smart plug and get the same result. That would work too and would have all the same integration points depending on which smart plug you get. I have a few Wemo smart plugs from Belkin and they’ve treated me pretty well. They also integrate with IFTTT so I can have them flash a lamp when the garage door opens, fun things like that.

If this article was interesting, let me know. I’ll post some of my other home automation projects.

I've seen a couple of blog posts of people that have done this better than I have. Check out April Dunham's post​ on it and also Elio Struyf's

tk

ShortURL: https://www.toddklindt.com/SmartBusyLight

Category: Tech Stuff; IoT
# Comments:

How to Register the PnP.PowerShell App Registration if You’re not a Tenant Admin

$
0
0
Body:

I’ve done a few articles about the new PnP.PowerShell module. One of the biggest changes from its ancestor, SharePointPnPPowerShellOnline, is that it requires the registration of an Azure Application before you can connect with it. In this blog post I’m going to explain how to get that Azure App registered if you’re not a Tenant Admin in your tenant.

You don’t need to be a Tenant Admin to use the PnP.PowerShell cmdlets. You don’t even need to be a SharePoint Admin or a site collection admin. There are plenty of cmdlets you can run, like Add-PnPFile if you’re only a Member of the site. However, before you can run the most import PnP cmdlet of all, Connect-PnPOnline, the PnP Azure Application has to be registered in your tenant by a tenant admin. If it’s not, you’ll get a sad message that looks like this:

image

Here’s the text:

Connect-PnPOnline: AADSTS65001: The user or administrator has not consented to use the application with ID '31359c7f-bd7e-475c-86db-fdb8c937548e' named 'PnP Management Shell'. Send an interactive authorization request for this user and resource.

In most cases the person introducing the PnP.PowerShell module is a tenant admin, so it’s not an issue. They run Register-PnPManagementShellAccess and Bob’s your uncle. But it’s not uncommon for an organization to be large enough that the SharePoint or Microsoft 365 Admin team is not a tenant admin. In that case the Tenant Admin, who likely doesn’t know what a PnP.PowerShell is, has to register the Azure App before the SharePoint Admin can enjoy the bliss that is PnP.PowerShell. Fortunately, there’s an easy enough solution, the Consent URL.

The Consent URL is the URL to a web page your Tenant Admin can go to to consent the PnP.PowerShell Azure App without needing to install anything, or really know anything about the PnP.PowerShell. There are a few ways to get the Consent URL. It doesn’t matter how you do it, they all get you to the same place.

The easiest way to remember is to run Register-PnPManagementShellAccess –ShowConsentUrl after installing the PnP.PowerShell. You’ll be asked to log in, but you don’t need to be an sort of admin. It’s only logging in so it knows when tenant you’re in. Then it will give you the Consent URL. It looks like this:

image

https://login.microsoftonline.com/651c433d-d221-4bb3-ac77-392f4bf06a6b/adminconsent?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e

The part in the red box is your tenant’s ID.You had to log so the cmdlet could get that number. The Client_id refers to the PnP.PowerShell, so it’s the same everywhere. 

You can also specify your tenant’s name instead of its ID. This works as well:


https://login.microsoftonline.com/tenantname.onmicrosoft.com/adminconsent?client_id=31359c7f-bd7e-475c-86db-fdb8c937548e

Whether you get the URL from running Register-PnPManagementShellAccess –ShowConsentUrl or by copying it out of this blog post and putting your tenant’s information, send that URL to your Tenant Admin. When they browse to the page it will look like this:

image

All they need to do is click Accept and you’re ready to go.

That’s a pretty long, scary list of permissions, and it might spook some admins. Accepting this does not give everyone in your tenant all of those permissions. The PnP.PowerShell Azure App uses Delegation, which means any user using it to access objects in Microsoft 365 has to have permission to access it. The PnP.PowerShell does not allow anyone access to anything they don’t otherwise have access to. If they don’t believe you, have them try. Have someone that cannot open up a SharePoint site in the browser try to connect to it with Connect-PnPOnline. They won’t be able to.

If they want to check out what the Azure App has permission to, or heaven forbid, remove it, you can browse to the Azure AD Portal and find it in the Enterprise Applications.

image

The Permissions blade will show you all delegated permissions the app has. Feel free to poke around, but resist the urge to change any, even if you’re positive you’ll never use them. I promise it’ll only hurt you in the future.

After your tenant admin has done all of that you should be able to get back to all that PowerShell and PnP goodness.

tk

ShortURL: https://www.toddklindt.com/PoshRegisterPnP

# Comments:

What is a “Dev Tenant” and why would you want one?

$
0
0
Body:

My fellow Sympraxian Julie Turner recently published an outstanding blog post on what a Microsoft 365 Dev Tenant is and why you should get one. I’ve been a long time user of Dev or Demo tenants and I find them to be an invaluable resource both for people trying to gain skills in Microsoft 365, but also grizzled old veterans like myself. Like the old saying goes, “The question isn’t whether you have a Test Site, it’s whether you have a Production Site.” If you don’t have a Dev or Demo Tenant to test things in then you’ve just demoted your Production Tenant to a Test Tenant. Don’t be that person. Smile I did a session on the PnP PowerShell today for Petri.com. One of the people there was hesitant to try out PowerShell on their tenant. I recommended they get one of these Dev tenants and hone their skills there.

Be one of the cool kids. Read Julie’s blog post and grab a Dev Tenant.

tk

ShortURL: https://www.toddklindt.com/GetDevTenant

# Comments:

Create Lots of Test SharePoint Sites (or Teams or Groups) with PowerShell

$
0
0
Body:

Throughout my IT career I have had to create tens (or hundreds, or thousands) of objects to test something. It could be a bunch of Windows Users, a bunch of folders, files, etc. It seems like every time that happens I end up starting from scratch on the process. To stop that silly cycle I decided to make the process official by blogging it. Let’s stop this madness!

This time it started with my friend Michal Pisarek posting this tweet:

image

Orchestry needs to test their lifecycle features and he wanted to stress test it real good!

As is often the case, I see a tweet like that and my first thought is “Challenge Accepted!” The mechanics of how to create Teams with PowerShell is pretty simple but where this really gets tricky, at least for me, is the names. Especially if you’re looking at creating 20,000 like Michal is. In the past the way I’ve handled that is the old tried and true “Adjective Noun Number” formula. To get near 20,000 I wanted a long list of nouns and adjectives to pull from. I scoured the Internet and pulled together two files, nouns.txt and adjectives.txt. You can find them in this GitHub repo. Then I tack a random two digit number at the end to reduce the chance of collision. I put those files in the same directory as this PowerShell script and let ‘er rip!

Connect-PnPOnline -Url https://CONTOSO-admin.sharepoint.com -Interactive

# import the files with nouns and adjectives
$Nouns = Get-Content .\nouns.txt
$Adjectives = Get-Content .\adjectives.txt

# Number of Teams to create
$NumberOfTeams = 3
$Index = 1

while ($Index -le $NumberOfTeams) {
    # Generate Random stuff
    $TeamNoun = $Nouns | Get-Random
    $TeamAdjective = $Adjectives | Get-Random
    $TeamNumber = Get-Random -Maximum 100
    $TeamDisplayName = "$TeamAdjective $TeamNoun $TeamNumber"
    Write-Host "$Index - $TeamDisplayName"
    New-PnPTeamsTeam -DisplayName $TeamDisplayName -MailNickName $($TeamDisplayName.Replace(" ","")) -Description $TeamDisplayName -Visibility Public -AllowGiphy $true
    $Index++
}

You can find the file CreateLotsofTeams.ps1 in that same GitHub repo.

You can alter the nouns and adjectives files as you see fit. Set the the $NumberofTeams variable to how many Teams you want and you’re set. This script uses the venerable PnP.PowerShell module. You’ll need that installed and its Azure Application registered before you can run this. Be sure to change the Connect-PnPOnline line to reflect your tenant’s name, unless you actually work for Contoso.

Because of some weird timing, the current version of the PnP.PowerShell, 1.6.0, won’t work with this script as there is a bug in New-PnPTeamsTeam that prevents it from actually creating a Team. Ironic, I know. I put notes in the CreateLotsofTeams.ps1 file on how to handle that. But if you’re running it and it looks successful but no Teams are being created, look there first.

Also, for whatever reason, when you look at the Groups Sites in SharePoint they don’t show up as being Teams enabled, but they really are.

image

You can see in this crudely mocked up screenshot that the Teams are in the Teams client even though SharePoint Admin Center swears they don’t exist.

And while this script’s purpose in life is to create lots and lots of Teams, it could be easily modified to create lots and lots of anything. If you just need Groups, swap out New-PnPTeamsTeam with New-PnPMicrosoft365Group. If you just need SharePoint sites, use New-PnPTenantSite. Folders? Add-PnPFolder. I think you see where I’m going with this. Smile 

If you’re like Michal and you’re going to create 20,000 Teams, or anything, I hope you have a comfortable chair. It’s going to take a while. Michal is seeing about 1 Team a minute. It’s going to take him a couple of weeks at that pace. Almost certainly PowerShell is the bottleneck in this situation. If you’re looking at a similar situation, my advice is to open up another PowerShell window and run another instance of CreateLotsofTeams.ps1 there. And maybe run a few instances on another machine entirely. In the past that has helped me speed this things up considerably.

Enjoy.

tk

ShortURL: https://www.toddklindt.com/PoshLotsandLotsofTeams

# Comments:

The new PnP.PowerShell Module is live!

$
0
0
Body:

As of January 19th, 2021 the new and improved PnP.PowerShell module is no longer prerelease and is ready for the masses. You can also find it in a GitHub repo. It replaces the venerable SharePointPnPPowerShellOnline module we all know and love. The new module has a lot changes, but here are a few of the highlights:

  • PnP.PowerShell only works with online products like SharePoint Online and Microsoft 365. It does not work with SharePoint Server platforms like SharePoint 2013, 2016, or 2019.
  • It is built on .NET core 3.1 so it runs on non Windows platforms like Linux, Mac, and Azure Functions. SharePointPnPPowerShellOnline is built on .NET 4.6.1 and only runs on Windows.
  • PnP.PowerShell is focused on all of Microsoft 365, not just SharePoint. SharePointPnPPowerShellOnline started out focused on SharePoint and other things have snuck in over the years, but were never supported as well as we would have liked.
  • Authentication relies on App Registrations. To facilitate the cross application support the module relies on Graph API permissions as opposed to straight up usernames and passwords. SharePointPnPPowerShellOnline uses App Registrations as well, but it’s not built on that premise like PnP.PowerShell is.

If you can, you should uninstall the SharePointPnPPowerShellOnline module and install PnP.PowerShell everywhere. You should also stop using Windows PowerShell 5.1 and move over to PowerShell 7.x. There are a couple of legit reasons why you can’t though. I have a whole blog post, “Using both PnP PowerShell Modules with PowerShell 5 and PowerShell 7” that covers how to have both modules and both shells available to you. For those of you with short attention spaces I’ll give you the tl;dr:

Open PowerShell 7.x in Administrator mode and uninstall all the modules:

Uninstall-Module SharePointPnPPowerShellOnline -Force –AllVersions
Uninstall-Module PnP.PowerShell -Force –AllVersions

That should clear all the appropriate modules out of PowerShell 7.x. You’re good there.

Now open Windows PowerShell 5.1 in Administrator mode. Here you’ll uninstall all the modules and reinstall them:

Uninstall-Module SharePointPnPPowerShellOnline -Force –AllVersions
Uninstall-Module PnP.PowerShell -Force –AllVersions

For good measure I close down the Windows PowerShell 5.1 host and open a new one before I install the new version. That might not be necessary, but it feels like cheap insurance. Either way, in a Windows PowerShell 5.1 Administrator shell install both modules:

Install-Module -Name SharePointPnPPowerShellOnline -Scope Allusers
Install-Module -Name PnP.PowerShell -Scope Allusers –AllowClobber

I added a little chocolate to the install commands to make them go down easier. First, I added -Scope Allusers to make sure Windows PowerShell 5.1 installs the module in a place that PowerShell 7.x can find it. I think any modules installed in an Admin window are installed there by default, but I’m not sure. Again, cheap insurance. Second, to the second (and any subsequent) module I added –AllowClobber. This tells PowerShell that it’s okay to install a module that has cmdlets that collide with cmdlets already on the system. This is okay because of the difference between installing a module and importing a module. You can read more about that in my previous post.

If you need one of the on-prem SharePoint Server modules use a line like this:

Install-Module -Name SharePointPnPPowerShell2019 -Scope Allusers –AllowClobber

You can have as many of these modules installed as long as you install the later ones with –AllowClobber.

Once you’ve got the modules installed you need to tell PowerShell which one to load. That’s done with the Import-Module cmdlet. When you open a new PowerShell window, or at the top of any PowerShell scripts, you can specify which PnP Module you want PowerShell to use. For instance:

Import-Module PnP.PowerShell

or

Import-Module SharePointPnPPowerShellOnline

or

Import-Module SharePointPnPPowerShell2019

Then you know you’ll get the version of Connect-PnPOnline (or whatever) your code is running.  In theory you could swap them in and out by using Remove-Module, but in reality there are some fiddley PowerShell things in the background (the AppDomain) that keeps this from being successful. My previous blog post does show you how to have multiple versions of the PnP module imported in the same window or script at the same time.

But really, stick to PnP.PowerShell and PowerShell 7 if humanly possible. Smile

I hope you find that all helpful. I don’t know about you, but I’m really excited about this new module.

tk

ShortURL: https://www.toddklindt.com/PoshNewPnPModule


# Comments:

Using both PnP PowerShell Modules with PowerShell 5 and PowerShell 7.

$
0
0
Body:

Since the PnP team announced that the venerable SharePointPnPPowerShellOnline module was going to be replaced by the shiny, new PnP.PowerShell module there has been some confusion on which module to use and which PowerShell to use. I have good news, the answer is “D. All of the above.” In this blog post I’ll show you how you can have both modules installed and use them interchangeably as well as use either of them on whatever version of PowerShell tickles your fancy.

A Few Words about Modules

Before we can get into how to do this I want to spend some pixels on why we have to do it the way we do. I intended to publish this blog post a couple of weeks (okay, months) ago but as I was doing my research I kept learning more. Most of learning was around the “Module” cmdlets and what each of them does. In order to get the two modules to cooperate we need to use the right Module cmdlets at the right time. Here are the Cliff’s Notes:

The System

Several Module cmdlets deal with what PowerShell Modules are installed on your system with PowerShellGet. There are a lot of ways to install Modules into PowerShell and PowerShellGet is one of the most popular and it’s built into PowerShell. Here are the pertinent cmdlets and what they do:

  • Install-Module – Downloads a module from a repository (the PowerShell Gallery by default) and installs it on the system.
  • Get-InstalledModule – Lists the modules that were installed on the computer with PowerShellGet
  • Uninstall-Module – Uninstalls a packages from that computer that was installed with PowerShellGet

The key here is that the scope of those commands, and the other PowerShellGet cmdlets, is the whole computer

The Host

“Host” is a fancy word for PowerShell window or console. There are a few common Module cmdlets that deal only with the host they’re run in. Here are some of my favorites:

  • Import-Module – Imports a module that was already installed on the computer into the host
  • Get-Module – Lists the modules currently imported into the host. The –ListAvailable parameter shows modules installed on the computer that can be imported into the host
  • Remove-Module – Unloads (unimports? exports?) a module from the host

These cmdlets are all part of Microsoft.PowerShell.Core as opposed to PowerShellGet.

The Import Business

Now we know how to get a module installed onto our computer, and how to manually coax it into our host. But most of us have never done all this Import-Module business but everything seems to work. How’s that? PowerShell has the ability to automatically load modules when they’re needed. The entire, exciting, story of how PowerShell imports modules is chronicled here, but I’ll give you the highlights. If you try to use (or reference it with something like Get-Command) a cmdlet that isn’t in a module already loaded PowerShell will walk through the PSModulePath locations looking into each module for the cmdlet you’re trying to run. If it finds it, it implicitly imports that module and Bob’s your uncle. You can use $env:PSModulePath to see where PowerShell will look. It’s important to note that Windows PowerShell 5 and PowerShell 7 have similar, but different PSModulePaths. Here’s what it looks like in both. I added -split “’;” to put each path on its own line, and I piped it through Sort-Object to make them easy to keep track of.

image

image

To make either Module, SharePointPnPPowerShellOnline or PnP.PowerShell, available to both Windows PowerShell 5 and PowerShell 7 it has to be installed in one of the paths that both versions of PowerShell will look in. For backwards compatibility PowerShell 7 looks in the PowerShell 5 paths, so I do the Install-Module bit in PowerShell 5 and PowerShell 7 gets it for free. You could install it in both, that works. But this way keeps you from having to update it both places every time a new version comes out. The PnP.PowerShell module is aimed for PowerShell 7, but also works fine in PowerShell 5. Erwin told me they may remove that support in future, but for now it’s safe.

You can see from the screenshots that I have my Known Folders redirected to OneDrive. When installing these modules PowerShell was installing them to my personal folders and it was causing problems. A couple of the Module cmdlets don’t handle that well. To get around some of that chicanery I had to install the modules in a different path. The easiest way I found to do that was the specify the scope Allusers, like this:

Install-Module PnP.PowerShell -Scope AllUsers

In PowerShell 5 that installed into C:\Program Files\WindowsPowerShell\Modules\PnP.PowerShell, which PowerShell 7 can see so it can be imported into a host of either version and it’s not in OneDrive.

Using Both Modules in Both PowerShells

We know both PowerShells can run both modules if we install it right. To get everything playing nicely I uninstalled both modules from both versions of PowerShell using Uninstall-Module -Force –AllVersions. In one case Uninstall couldn’t clean it all up so I had to go into the file system and delete the folder manually. I also had to close the host various times as it had imported the module I was trying to uninstall and I couldn’t get it unloaded in that host.

After all the uninstalling was done I closed all of the PowerShell windows I had open and I opened a PowerShell 5 window in Admin mode. I installed the old module with this:

Install-Module -Name SharePointPnPPowerShellOnline -Scope Allusers

That made it so it could be imported into both PowerShell 5 and PowerShell 7. Next I installed the PnP.PowerShell module. This one took a bit of extra coaxing.  It’s currently in prerelease so Install-Module requires the –AllowPrerelease parameter. The version of PowerShellGet in PowerShell 5 does have that. I had to upgrade PowerShellGet first with this line:

Update-Module -Name PowerShellGet

I close the window and opened a new one for good measure. This put me at version 2.2.5 of PowerShellGet. One problem solved. The second problem is that PnP.PowerShell and SharePointPnPPowerShellOnline share most of their cmdlet names, so a regular Install-Module is going to fail. To fix that we need to use the –AllowClobber parameter. The whole thing looks like this:

Install-Module -Name PnP.PowerShell -AllowPrerelease –AllowClobber

At first this sounds scary, but remember, Install is just dropping the bits onto your computer. You can still control which module gets loaded in a script or host. To do that using Import-Module. The key is to use Import-Module before you do anything that will trigger PowerShell implicitly loading the module for you. If you want to force your script to use a specific module include one of these lines at the top:

Import-Module PnP.PowerShell

or

Import-Module SharePointPnPPowerShellOnline

You would do the same thing in a PowerShell window when you open it to run some cmdlets. I’ve been doing this for a few weeks and it works well.

Using Both Modules in the Same Host

Now I’m just going to show off a bit. Smile We know we can load either module into a host, but what if we need both modules into the same host or script at the same time? It came be done! It sounds like magic, but it works. The key is using the –Prefix parameter of Import-Module. If you want both modules loaded and available in the same window you need to import one with a prefix. It looks like this:

Import-Module SharePointPnPPowerShellOnline -Prefix Old

image

You can see from the screenshot that both sets of cmdlets are available, with the SharePointPnPPowerShellOnline versions having the additional prefix of “Old.” I wouldn’t recommend doing this as a normal course of action, but it’s good to know it’s there. PowerShell 7 is a little fussy when doing this. I had issues importing the old version if I had already imported the PnP.PowerShell module explicitly or implicitly, which is why I didn’t in this screenshot. Get-Command implicitly loaded it for me, so that wasn’t an issue. PowerShell 5 handles it more gracefully.

The End

There it is, the culmination of weeks (maybe months) of me fiddling around to understand the inner workings of PowerShell module installing and importing. Thanks to Jeff Hicks for holding my hand and answering all my dumb questions. Hopefully my pain will make your transitions from PowerShell 5 to PowerShell 7 and from SharePointPnPPowerShellOnline to PnP.PowerShell easier.

tk

ShortURL: https://www.toddklindt.com/PoshBothModules

# Comments:

Making the move from SharePointPnPPowerShellOnline to PnP.PowerShell

$
0
0
Body:

As the new year approaches I find myself making changes. Like everyone on the planet I plan to eat less and exercise more. I also plan on making another change, I’ll be moving away from my friend the venerable old SharePointPnPPowerShellOnline module to the new, sexier PnP.PowerShell. I thought I’d blog the experience so you all can follow along.

Why the Move?

The SharePointPnPPowerShellOnline module has been good to me over the last few years. It has helped me do amazing things both in PowerShell and in SharePoint. Why would I ever give that all up? Because the times, they are a-changing. The SharePointPnPPowerShellOnline module is being retired and all of that effort is being channeled to the PnP.PowerShell module. The SharePointPnPPowerShellOnline module will continue to be around for the on-prem versions of SharePoint Server (though not updated), but for SharePoint Online/Office 365/Microsoft 365 you’ll need to use the PnP.PowerShell module.

Why did the PnP team decide this? You can get the whole story at the official PnP PowerShell page, but there are two main reasons. The first is wider platform support. SharePointPnPPowerShellOnline had .NET dependencies that meant it would only run on Windows PowerShell. Emphasis on Windows. When that module was first created 6 years ago that made perfect sense, but since then PowerShell has gone open source and now runs on a variety of platforms like Mac, Linux, a variety toasters, etc. Since SharePointPnPPowerShellOnline required Windows it couldn’t follow PowerShell onto those other platforms. The PnP.PowerShell module was written without those Windows dependencies so it can run anywhere PowerShell can run. You may not use a Mac, but this also means that you can use PnP.PowerShell more easily in cloud environments like Azure Functions.

The second reason was to give wider application support. The SharePointPnPPowerShellOnline mostly supported SharePoint, as the name would suggest. These days you can’t manage SharePoint Online without also needing to touch Microsoft Groups, Teams, etc. The PnP added more and more cmdlets to handle that, but there were some big authentication changes that needed to be made to fully support all of the other applications. They started adding some of that to SharePointPnPPowerShellOnline, but it was cobbled together a bit. While they were refactoring the module for .NET Standard they went ahead and made some sweeping authentication changes that mean we’ll be able to use it more easily for SharePoint and all of the other applications we know and love.

First Step PowerShell 7

The first step to moving to the PnP.PowerShell module is to install PowerShell 7, also called PowerShell Core. I’m on Windows, so that’s the process I’m going to walk through. Windows comes with PowerShell, Windows PowerShell 5.1. To use PowerShell 7 we’ll have to install it. Windows PowerShell 5.1 and PowerShell Core 7 can happily coexist on your machine, so you don’t have to worry about breaking any of your other existing PowerShell scripts or tools.

image

You can see from this screenshot I have both versions of PowerShell installed and running on this machine. You can use the system variable $PSVersionTable to see which version of PowerShell your host is currently using. It’s also pretty easy to pick the version of PowerShell you want when firing it up.

image

While PowerShell 7.x can coexist with Windows PowerShell 5.x, it will replace PowerShell 6.x if you have that installed.

I installed PowerShell 7 by downloading the installation MSI from the GitHub page. For me that was the Windows x64 platform and I grabbed the stable build. That file was PowerShell-7.1.0-win-x64.msi, but obviously that filename will change as PowerShell 7 advances. Then I popped open a Windows PowerShell 5 (oh, the irony) prompt in Admin mode and ran the MSI.

image

The friendly wizard walked me through the process. There are few installation choices to make, but I’ve found the defaults are usually fine.

After the installation is finished you’ll have both Windows PowerShell 5.x and PowerShell Core 7.x. Time to install some modules.

The Module

Installing the PnP.PowerShell module is pretty easy, but if you have the older SharePointPnPPowerShellOnline module installed you’ll need to uninstall it first. The cmdlet names in both modules are the same, So PnP.PowerShell won’t install all of its cmdlets while there are collisions with the old version. To uninstall the SharePointPnPPowerShellOnline module open up a Windows PowerShell 5 host in Admin mode and enter this:

Uninstall-Module SharePointPnPPowerShellOnline –AllVersions

and wave a fond farewell to our old friend. After that’s finished, and you’re done sobbing, open up a shiny new PowerShell Core 7 host in Admin mode. While you’re in there opening up in Admin mode, go ahead and add PowerShell 7 to your Start Menu and your Taskbar. You’ll thank me later.

image

Then issue this command:

Install-Module PnP.PowerShell –AllowPrerelease

image

You’re all done. Since PnP.PowerShell is not an official release yet you’ll need the scary sounding –AllowPrerelease parameter. After January of 2021 you won’t need that anymore.

Finally, Authentication

I mentioned earlier that one of the reasons for changing modules was a change in authentication. I don’t want to get too deep into it in this blog post but I do want to mention that you should run Register-PnPManagementShellAccess to set up a an Azure Application Registration. This is the magic that allows the new PnP PowerShell access to all of the applications in Office 365. You may have seen this referred to as Graph API. I’ll dig into it later, but for now all you need to know is that a tenant admin needs to run the PnP.PowerShell version of Register-PnPManagementShellAccess once in your tenant. After that is in place you should be able to use Connect-PnPOnline and get connected.

tk

ShortURL: https://www.toddklindt.com/NewPnPPowerShell

# Comments:
Attachments: https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_8_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_5_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_10_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_3_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_4_074B84B2.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_074B84B2.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_4_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_12_3538D76A.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_2_074B84B2.png
https://www.toddklindt.com/blog/Lists/Posts/Attachments/881/image_thumb_1_074B84B2.png

SharePoint 2010 Build Numbers

$
0
0
Body:

Current Patch, ​April 2021 - 14.0.7268.5000 (Final Build)

Before they get away from me I want to start listing the builds of SharePoint 2010. Hopefully I'll keep it up to date. J

To see which build your farm is, go to Central Administration > System Settings > Manage servers in your farm (/_admin/FarmServers.aspx)

Or using Windows PowerShell: (get-spfarm).buildversion

To see which build your products are, go to Central Administration > Upgrade and Migration > Check Product and patch installation status. (/_admin/PatchStatus.aspx)

To see which build your databases are, go to Central Administration > Upgrade and Migration > Review database status (/_admin/DatabaseStatus.aspx)

 Patch terminology KB article.

Follow SP2010Patches on Twitter for immediate updates when this list changes or I add a regression to a patch.

ShortURL: https://www.toddklindt.com/sp2010builds

 

Build

Release

Component

​Information

Download Link

​Notes

14.0.4763.1000

RTM

All components

Download

14.0.4762.1000

RTM Farm Build Version
       

14.0.5114.5003

June 2010 CU

SharePoint Foundation 2010

KB2028568

14.0.5114.5003

June 2010 CU

Microsoft Shared Components

KB2281364

14.0.5114.5003

June 2010 CU

Microsoft SharePoint Portal

KB983497

14.0.5114.5003

June 2010 CU

Microsoft User Profiles

14.0.5114.5003

June 2010 CU

Microsoft Search Server 2010 Core

14.0.5114.5003

June 2010 CU

Microsoft Web Analytics Web Front End Components

KB2204024

          

14.0.5123.5000

August 2010 CU

SharePoint Foundation​ 2010

KB2352346

14.0.5123.5000

August 2010 CU

SharePoint Server 2010

KB2352342
       
14.0.5128.5000
October 2010 CU SharePoint Foundation​ 2010 KB2394323
14.0.5128.5000
October 2010 CU SharePoint Server 2010 KB2394320
14.0.5130.5002
December 2010 CU
SharePoint Foundation 2010
KB2459125
14.0.5130.5002
December 2010 CU SharePoint Server 2010​ KB2459257
14.0.5136.5002​ February 2011 CU​
SharePoint Foundation 2010
KB2475880​
14.0.5136.5002​ February 2011 CU​ SharePoint Server 2010​ KB2475878
14.0.5138.5000
​April 2011 CU ​SharePoint Foundation 2010 KB2512804​
14.0.5138.5000
​April 2011 CU SharePoint Server 2010​ KB2512800
14.0.5138.5000
​April 2011 CU ​Project Server 2010 KB2512801
​14.0.6029.1000 ​Service Pack 1 ​SharePoint Server 2010​ KB2460045 Download
​14.0.6029.1000 ​Service Pack 1 ​Office Web Apps KB2460073 Download
​​14.0.6029.1000 ​Service Pack 1 ​Project Server 2010 KB2460047 Download
​14.0.6029.1000 ​Service Pack 1 ​SharePoint Foundation 2010 KB2460058 Download
14.0.6029.1000 ​Service Pack 1 ​FAST Search Server KB2460039 Download
​14.0.6105.5000 ​June 2011 CU Mark 1 ​​SharePoint Server 2010​ KB2536599
​14.0.6105.5000 ​June 2011 CU Mark 1 ​SharePoint Foundation 2010 KB2536601
​14.0.6105.5000 ​​June 2011 CU Mark 1 ​Project Server 2010 KB2536590
​14.0.6106.5002 ​​June 2011 CU Mark 2 ​​​SharePoint Server 2010​ KB2536599 Download Regressions
​14.0.6106.5002 ​​June 2011 CU Mark 2 ​SharePoint Foundation 2010 KB2536601​ Download
​14.0.6106.5002 ​​June 2011 CU Mark 2 ​Project Server 2010 KB2536590 Download
14.0.6105.5000 ​June 2011 CU ​Office Web Apps KB2553919 Download
14.0.6109.5002 ​August 2011 CU ​SharePoint Server 2010 KB2553048 Download Regressions
14.0.6109.5000 ​August 2011 CU ​​SharePoint Foundation 2010 KB2553117 Download
14.0.6109.5000
​August 2011 CU ​Project Server 2010 KB2553047 Download
14.0.6109.5000 ​August 2011 CU ​FAST Search Server KB2553040 Download
14.0.6112.5000 ​October 2011 CU ​SharePoint Server 2010 KB2596505 Download ​Bugs, Notes, and Regressions
14.0.6112.5000 ​​October 2011 CU ​​​SharePoint Foundation 2010 KB2596508 Download
14.0.6112.5000 ​​October 2011 CU ​​Project Server 2010 KB2596506 Download
14.0.6114.5000 December 2011 CU ​SharePoint Server 2010 Download ​Bugs, Notes and Regressions
14.0.6114.5000 December 2011 CU ​SharePoint Foundation 2010

KB2596998

Download
14.0.6114.5000 December 2011 CU ​Project Server 2010 KB2597015 Download
14.0.6117.5002 ​ February 2012 CU​ SharePoint Server 2010​ KB2597150​ Download​ Bugs, Notes and Regressions
14.0.6117.5002 ​ February 2012 CU​ SharePoint Foundation 2010​ KB2597132 Download
14.0.6117.5002 ​ February 2012 CU​ Project Server 2010​ KB2597152 Download
14.0.6117.5002 ​​ February 2012 CU​ Office Web Apps​ KB2598022 Download
14.0.6117.5002 ​February 2012 CU​ ​FAST Search Server KB2597131 Download
14.0.6120.5000 April 2012 CU​ Mark1 ​​SharePoint Server 2010 ​Removed
14.0.6120.5000 ​April 2012 CU​ Mark1 ​SharePoint Foundation 2010​ ​Removed
14.0.6120.5000 ​April 2012 CU​ Mark1 ​Project Server 2010 ​Removed
14.0.6120.5000 ​​April 2012 CU​ ​​FAST Search Server KB2598329 Download
14.0.6120.5006 ​April 2012 CU​ Mark 2 ​SharePoint Server 2010​ KB2598151 ​​Download Bugs, Notes, and Regressions
14.0.6120.5006 ​April 2012 CU​ Mark 2 ​SharePoint Foundation 2010​ KB2598321 Download
14.0.6120.5006 ​April 2012 CU​ Mark 2 ​Project Server 2010 KB2598152 ​​Download
14.0.6123.5002 ​June 2012 CU ​SharePoint Server 2010​ KB2598354 Download Bugs, Notes, and Regressions
14.0.6123.5002 ​​June 2012 CU ​SharePoint Foundation 2010​ KB2598373 Download
14.0.6123.5002 ​​June 2012 CU ​Office Web Apps​ KB2687273 Download
14.0.6123.5002 ​June 2012 CU ​Project Server 2010 KB2598355 Download
14.0.6126.5000 ​August 2012 CU ​SharePoint Server 2010 KB2687353 Download Bugs, Notes, and Regressions
14.0.6126.5000 ​August 2012 CU ​SharePoint Foundation 2010​ KB2687355 Download
14.0.6126.5002 ​August 2012 CU ​Project Server 2010 KB2687354 Download
14.0.6129.5003 ​​October 2012 CU ​SharePoint Server 2010 KB2687564 Download Bugs, Notes, and Regressions
14.0.6129.5000 ​October 2012 CU ​SharePoint Foundation 2010 KB2687566 Download
​October 2012 CU ​​Office Web Apps​ KB2687562 Download
​​October 2012 CU ​​Project Server 2010 KB2687615 Download
​October 2012 CU ​​​FAST Search Server KB2760395 Download
14.0.6131.5003 December 2012 CU ​SharePoint Server 2010 KB2596955 Download Bugs, Notes, and Regressions
14.0.6131.5001 December 2012 CU​ ​SharePoint Foundation 2010 KB2596957 Download
14.0.6131.5003 December 2012 CU ​Project Server 2010 KB2596956 Download
14.0.6131.5001 December 2012 CU ​Office Web Apps​ KB2726912 Download
14.0.6134.5000 ​​February 2013 CU ​SharePoint Server 2010 KB2767793 Download Bugs, Notes, and Regressions
14.0.6134.5000 ​​February 2013 CU​ ​​SharePoint Foundation 2010 KB2760791 Download
14.0.6134.5000 ​​​February 2013 CU ​Project Server 2010 KB2767794 Download
14.0.6134.5003 ​February 2013 COD ​SharePoint Server 2010 Blog Post Download Bugs, Notes, and Regressions
14.0.6137.5000 ​April 2013 CU ​SharePoint Server 2010 KB2775353 Download Bugs, Notes, and Regressions
14.0.6137.5000 ​April 2013 CU ​SharePoint Foundation 2010 KB2794728 Download
14.0.6137.5000 ​April 2013 CU ​Project Server 2010 KB2775426 Download
​14.0.6137.5000 ​April 2013 CU ​FAST Search Server KB2794672 Download
14.0.7011.1000 ​SP2 Public Beta ​SharePoint 2010 Download Bugs, Notes, and Regressions
​14.0.7015.1000 ​​Service Pack 2 ​SharePoint Server 2010 KB2687453 ​​​Download Bugs, Notes, & Regressions
​Service Pack 2 ​SharePoint Foundation 2010 KB2687464 ​​Download
​Service Pack 2 ​Project Server 2010 KB2687452 ​​Download
​Service Pack 2 ​​Office Web Apps​
KB2687470 ​​Download
​​Service Pack 2 ​FAST Search Server KB2687446 ​​Download
​ 14.0.7102.5000 ​June 2013 CU Mark 1 ​SharePoint Server 2010 KB2817363 Download Bugs, Notes, and Regressions
​ 14.0.7102.5000 ​June 2013 CU Mark 1 ​SharePoint Foundation 2010 KB2817392 Download
​14.0.7102.5000 ​June 2013 CU Mark 1 ​Project Server 2010 KB2817368 Download
​14.0.7102.5004 ​June 2013 CU Mark 2 ​SharePoint Server 2010 KB2817527 Download Bugs, Notes, and Regressions
​June 2013 CU Mark 2 ​SharePoint Foundation 2010 KB2817552 Download
​June 2013 CU Mark 2 ​Project Server 2010 KB2817530 Download
​14.0.7106.5000 ​August 2013 CU ​SharePoint Server 2010 KB2817570 Download ​Bugs, Notes, and Regressions
​​August 2013 CU ​SharePoint Foundation 2010 KB2817594 Download
​​August 2013 CU ​Project Server 2010 KB2817573 Download
​14.0.7106.5002 ​August 2013 CU Mark 2 ​SharePoint Server 2010 KB2825949 Download Bugs, Notes, and Regressions
​14.0.7110.5000 ​October 2013 CU ​SharePoint Server 2010 KB2825786 Download Bugs, Notes, and Regressions
​October 2013 CU ​​SharePoint Foundation 2010 KB2825824 Download
​October 2013 CU ​Project Server 2010 KB2825793 Download
​14.0.7113.5000 December 2013 CU ​SharePoint Server 2010 KB2849971  Download Bugs, Notes, and Regressions
December 2013 CU ​SharePoint Foundation 2010 KB2849990 Download
​14.0.7113.5002 December 2013 CU ​Project Server 2010 KB2849972 Download
​14.0.7116.5000 ​February 2014 CU ​SharePoint Server 2010 KB2863913 Download ​​Bugs, Notes, and Regressions
​February 2014 CU ​SharePoint Foundation 2010 KB2863938 Download
​February 2014 CU ​Project Server 2010 KB2863917 Download
​14.0.7121.5004 ​April 2014 CU ​SharePoint Server 2010 KB2878250 Download Bugs, Notes, and Regressions
14.0.7121.5000 ​April 2014 CU ​SharePoint Foundation 2010 KB2878270 Download
​April 2014 CU ​​Project Server 2010 ​KB2878253 ​Download
​14.0.7123.5000 MS14-022 ​SharePoint 2010 KB2952166 ​​Links in KB ​​Bugs, Notes, and Regressions
​14.0.7125.5002 ​June 2014 CU ​SharePoint Server 2010 KB2880972 Download ​​​Bugs, Notes, and Regressions
​​June 2014 CU ​SharePoint Foundation 2010 KB2880975 Download
​​June 2014 CU ​Project Server 2010 KB2880974 Download
​ 14.0.7128.5001 ​July 2014 CU ​​SharePoint Server 2010 KB2883005 Download ​Bugs, Notes, and Regressions
​​July 2014 CU ​​SharePoint Foundation 2010 KB2883026 Download
​​July 2014 CU ​Project Server 2010 ​No patch
​ 14.0.7130.5000 ​August 2014 CU ​SharePoint Server 2010 KB2889831 Download Bugs, Notes, and Regressions
​​August 2014 CU ​SharePoint Foundation 2010 KB2889825 Download
​​August 2014 CU ​Project Server 2010 ​No patch
​14.0.7132.5000 September 2014 CU ​SharePoint Server 2010 KB2883103 Download ​Bugs, Notes, & Regressions
September 2014 CU ​​SharePoint Foundation 2010 KB2889932 Download
September 2014 CU ​Project Server 2010 KB2883006 Download
​ 14.0.7134.5000 ​October 2014 CU ​SharePoint Server 2010 KB2899490 Download Bugs, Notes, and Regressions
​SharePoint Foundation 2010 ​None ​None
​Project Server 2010 (1/2) KB2899485 Download
​Project Server 2010 (2/2) KB2880539 Download
​14.0.7137.5000 ​November 2014 CU ​SharePoint Server 2010 KB2899478 Download Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB2889933 Download
​Project Server 2010 KB2899479 Download
14.0.7140.5000 ​December 2014 CU ​​SharePoint Server 2010 KB2899583 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB2899585 Download
​Project Server 2010 KB2899587
​14.0.7143.5001 ​February 2015 CU ​SharePoint Server 2010 KB2899558 Download ​​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB2910904 Download
​Project Server 2010 KB2899557 Download
​14.0.7145.5000 ​March 2015 CU ​SharePoint Server 2010 KB2956201 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB2956208 Download
​Project Server 2010 KB2956198 Download
​14.0.7147.5000 ​April 2015 CU ​SharePoint Server 2010 KB2965294 Download Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB2965241
​Project Server 2010 KB2965293 Download
​14.0.7149.5000 ​May 2015 CU ​SharePoint Server 2010 KB3015569 Bugs, Notes, and Regressions
​​SharePoint Foundation 2010 KB3017815
​Project Server 2010 KB2999496 Download
​​14.0.7151.5000 ​June 2015 CU ​​SharePoint Server 2010 Download ​​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 Download
 
 
​Project Server 2010 Download
14.0.7153.5000 ​July 2015 CU ​SharePoint Server 2010 KB3054975 ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB3054983
​Project Server 2010 KB3054972
14.0.7155.5000 ​August 2015 CU ​SharePoint Server 2010 KB3055040 ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB3055049
​Project Server 2010 KB3055038
​14.0.7157.5000 September 2015 CU ​SharePoint Server 2010 KB3085521 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB3085530
​Project Server 2010 KB3085517 Download
​14.0.7160.5000 ​October 2015 CU ​SharePoint Server 2010 KB3085603 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB3085613 Download
​Project Server 2010 KB3085598 Download
​14.0.7162.5000 ​November 2015 CU ​SharePoint Server 2010 KB3101534 Download ​Bugs, Notes, and Regressions
​​SharePoint Foundation 2010 KB3101547 ​​Download
​​Project Server 2010 KB3101530 Download
​14.0.7164.5000 ​December 2015 CU ​SharePoint Server 2010 KB3114408 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 KB3114418 Download
​Project Server 2010 KB3114405 Download
​14.0.7165.5000 ​January 2016 CU ​​SharePoint Server 2010 ​None ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 ​None
​Project Server 2010 KB3114556 Download
​February 2016 CU ​​SharePoint Server 2010 ​None ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 ​None
​Project Server 2010 ​None
​14.0.7167.5000 ​March 2016 CU ​​SharePoint Server 2010 KB3114882 Download
​SharePoint Foundation 2010 KB3114886 Download ​Requires Feb 2016 CU installation
​Project Server 2010 KB3114876 Download
​14.0.7168.5000 ​April 2016 CU ​​SharePoint Server 2010 KB3114995 Download ​Bugs, Notes, and Regressions
​SharePoint Foundation 2010 ​None
​Project Server 2010 KB3114992 Download
​14.0.7169.5000 ​May 2016 CU SharePoint Server 2010​ KB3115126 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3115122 Download​
​14.0.7170.5000 ​June 2016 CU ​​​SharePoint Server 2010 KB3115245 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3115242 Download​
​14.0.7171.5002 ​July 2016 CU ​​​SharePoint Server 2010 KB3115319
Download
​SharePoint Foundation 2010 ​​KB3114890 ​​Download
​​Project Server 2010 KB3115316 Download​
​14.0.7173.5000 ​September 2016 CU ​SharePoint Server 2010 KB3115473 Download
​​SharePoint Foundation 2010 KB3115477 Download
​Project Server 2010 KB3115470 Download​
​14.0.7174.5001 ​October 2016 CU ​​​SharePoint Server 2010 KB3118387 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3118383 Download​
​14.0.7176.5000 ​November 2016 CU ​​​SharePoint Server 2010 KB3127957 Download​
​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3127952 ​Download​
​14.0.7177.5000​ ​December 2016 CU ​SharePoint Server 2010 KB3128036 Download
​SharePoint Foundation 2010 KB3118391 Download
​​Project Server 2010
​14.0.7179.5000 ​March 2017 CU ​SharePoint Server 2010 KB3141545 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3141541 ​​Download​
​14.0.7180.5001 April 2017 CU ​SharePoint Server 2010 ​KB3191846 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010​
KB3191842 Download​
​14.0.7182.5000 ​June 2017 CU ​SharePoint Server 2010 KB3191905 Download
​SharePoint Foundation 2010 ​None
​Project Server 2010 KB3191903 Download​
​14.0.7183.5000 ​July 2017 CU ​​SharePoint Server 2010 KB3213634 Download
​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB3213629 Download​
​14.0.7186.5000 ​August 2017 CU ​​​SharePoint Server 2010 KB2920815 Download​
​​SharePoint Foundation 2010 ​None
​​​Project Server 2010 KB2956055 Download​
​14.0.7188.5001 ​September 2017 CU ​SharePoint Server 2010 KB4011058 Download
​SharePoint Foundation 2010 ​None
​Project Server 2010 KB4011057 Download​
​14.0.7189.5001 ​October 2017 CU ​SharePoint Server 2010 KB4011195 Download
​​SharePoint Foundation 2010 ​None
​Project Server 2010 KB4011192 Download​
​14.0.7190.5000 ​November 2017 CU ​​SharePoint Server 2010 KB4011272 Download
​​​SharePoint Foundation 2010 ​None
​​Project Server 2010 KB4011269 Download​
​December 2017 CU ​None
​14.0.7192.5000 ​January 2018 CU ​​​SharePoint Server 2010 KB4011616 Download
​SharePoint Foundation 2010 KB3141547 Download
​Project Server 2010 KB4011613 Download​
​February 2018 CU ​​None
​14.0.7196.5000 ​March 2018 CU ​​​​SharePoint Server 2010 KB4011710 Download
​​SharePoint Foundation 2010 ​None
​Project Server 2010 KB4011708 Download
​14.0.7197.5000 ​April 2018 CU ​​​​SharePoint Server 2010 KB4018361 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010​ KB4018358 Download
​14.0.7209.5000 ​May 2018 CU ​SharePoint Server 2010 KB4022143 Download
​​​SharePoint Foundation 2010 ​None
​Project Server 2010​ KB4022140 Download​
​14.0.7210.5000 ​June 2018 CU ​​SharePoint Server 2010​ KB4022204 Download
​SharePoint Foundation 2010 ​None
​Project Server 2010​ KB4022201 Download​
​July 2018 ​None
​14.0.7212.5000  ​August 2018 ​SharePoint Server 2010​ KB4032221 Download
​​SharePoint Foundation 2010 ​None
​​Project Server 2010​ KB4092438 Download​
​14.0.7213.5000 ​September 2018 ​SharePoint Server 2010​ KB4227169 Download
​​​SharePoint Foundation 2010 ​None
​Project Server 2010​ KB4092484 Download​
​14.0.7214.5000 ​October 2018 ​SharePoint Server 2010​ KB4461464 Download
​​​​SharePoint Foundation 2010 ​None
​Project Server 2010​ KB4461463 Download​
​14.0.7224.5000 ​November 2018 ​​SharePoint Server 2010​​ KB4461528 Download
​SharePoint Foundation 2010 KB4011713 Download
​Project Server 2010 KB4461525 Download​
​14.0.7225.5000 ​December 2018 ​SharePoint Server 2010​​ KB4461575 Download
​SharePoint Foundation 2010 KB4461580 Download
​Project Server 2010 KB4461572 Download​
​14.0.7228.5000 ​January 2019 ​SharePoint Server 2010​​ ​​KB4461622 ​​Download​
​​SharePoint Foundation 2010​ None None
​Project Server 2010 KB4461618 Download​
​14.0.7229.5000 ​February 2019 ​SharePoint Server 2010​​​ KB4462181 Download
​SharePoint Foundation 2010 KB4461630 Download
​Project Server 2010 KB4462179 Download​
​14.0.7231.5000 ​March 2019 ​SharePoint Server 2010 KB4462228 Download
​​SharePoint Foundation 2010 KB4462231 Download
​​Project Server 2010 KB4462227 Download​
​14.0.7232.5000 ​April 2019 ​​SharePoint Server 2010 KB4464523 Download
​​​SharePoint Foundation 2010​ KB4464528 Download
​Project Server 2010 KB4464521 Download​
​14.0.7233.5000 ​May 2019 ​​​SharePoint Server 2010 KB4464569 Download
​SharePoint Foundation 2010​ KB4464573 Download
​Project Server 2010 KB4464568 Download
​14.0.7234.5000 ​June 2019 ​​​SharePoint Server 2010 KB4475508 Download
​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010 KB4475507 Download​
​14.0.7235.5000 ​July 2019 ​SharePoint Server 2010 KB4475535 Download
​SharePoint Foundation 2010​ KB4475510 Download
​​Project Server 2010 KB4475532 Download​
​14.0.7236.5000 ​August 2019 ​SharePoint Server 2010 KB4475572 Download
​SharePoint Foundation 2010​ KB4475575 Download
​Project Server 2010 KB4475570 Download​
​14.0.7237.5000 ​September 2019 ​SharePoint Server 2010 KB4475603 Download
​​SharePoint Foundation 2010​ KB4475603 Download
​Project Server 2010 KB4475600 Download​
​14.0.7239.5000 October 2019 ​SharePoint Server 2010 KB4484129 Download
​​​SharePoint Foundation 2010​ KB4484131 Download
​Project Server 2010 KB4484128 Download
​14.0.7241.5000 ​November 2019 ​SharePoint Server 2010 KB4484162 Download
​SharePoint Foundation 2010​ KB4484165 Download
​Project Server 2010 KB4484161 Download​
​14.0.7243.5000 ​December 2019 ​​SharePoint Server 2010 KB4484195 Download
​​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010 KB4484194 Download
​January 2020 ​SharePoint Server 2010 ​None ​None
​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010 ​None ​​None
​February 2020 ​​SharePoint Server 2010 ​None ​None
​​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010 ​None ​​None
​14.0.7246.5000 ​March 2020 ​​​SharePoint Server 2010 KB4484241 Download
​​​SharePoint Foundation 2010​ KB4484197 Download
​Project Server 2010 KB4484239 Download​
​14.0.7248.5000 ​April 2020 ​SharePoint Server 2010 KB4484324 Download
​SharePoint Foundation 2010​ KB4484298 Download
​Project Server 2010 KB4484323 Download​
​14.0.7250.5000 ​May 2020 ​SharePoint Server 2010 KB4484389 Download
​SharePoint Foundation 2010​ KB4484386 Download
​Project Server 2010 KB4484388 Download​
​14.0.7253.5000 ​June 2020 ​​SharePoint Server 2010 KB4484413 Download
​SharePoint Foundation 2010​ KB4484391 Download​
​​Project Server 2010 KB4484412 Download​
​14.0.7255.5000 ​July 2020 ​​​SharePoint Server 2010 KB4484459 Download
​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010 KB4484457 Download​
​14.0.7256.5000 ​August 2020 ​​​​SharePoint Server 2010 KB4484496 Download
​SharePoint Foundation 2010​ KB4484462 Download
​​Project Server 2010 KB4484493 Download​
​14.0.7260.5000 ​September 2020 ​​​​​SharePoint Server 2010 KB4486662 Download
​SharePoint Foundation 2010​ KB4486667​ Download
​Project Server 2010 KB4484535 Download​
​14.0.7261.5000 ​October 2020 ​​​​​​SharePoint Server 2010 KB4486705 Download
​​SharePoint Foundation 2010​ KB4486708 Download
​Project Server 2010 KB4486702 Download​
​14.0.7262.5000 ​November 2020 ​​​​​​​SharePoint Server 2010​ KB4486741 Download
​SharePoint Foundation 2010​ KB4486744 Download
​Project Server 2010 KB4486739 Download​
​14.0.7263.5000 ​December 2020 ​​​​​​​​SharePoint Server 2010​ KB4493146 Download
​SharePoint Foundation 2010​ KB4493149 Download
​Project Server 2010 KB4493144 Download
​14.0.7264.5000 ​January 2021 ​​​​​​​​​SharePoint Server 2010​ KB4493184 Download
​SharePoint Foundation 2010​​
KB4493184 Download
​Project Server 2010​ KB4493182 Download​
​14.0.7265.5000 ​February 2021 ​SharePoint Server 2010​ KB4493220 Download
​​SharePoint Foundation 2010​ KB4493223 Download
​Project Server 2010​ KB4493217 Download
​14.0.7267.5000 ​March 2021 ​SharePoint Server 2010​ KB4504706 Download
​​SharePoint Foundation 2010​ ​None ​None
​Project Server 2010​ KB4504704 Download
​14.0.7268.5000 ​April 2021 (Final Build) ​SharePoint Server 2010​ KB4504742 Download
​​SharePoint Foundation 2010​ KB4504709 Download
​Project Server 2010​ KB4504741 Download​

 

tk

Category: SharePoint 2010
# Comments:
Viewing all 623 articles
Browse latest View live