A Major Update for the SharePointSDK PS Module
This blog has been a bit quiet over the last few weeks. This is because I have been really really busy. I have spent a lot of time working on an updated version of the SharePointSDK PS module. Just in case you have not played with this module, here’s some background info:
Just over a year ago, I posted a PowerShell / SMA / Azure Automation module on this blog called SharePointSDK. Few months ago, I have also published this module on Github and PowerShell Gallery. This module was designed to help automate operations around SharePoint lists (i.e. CRUD operations for SharePoint list items). Coupling SharePoint (both On-prem version or SharePoint Online) with Azure Automation (or even SMA) is becoming more and more common in the community when designing automation solutions. This module provides ways for your automation runbooks to interact with SharePoint list items.
However, I believe the original 1.0 release was really basic, and there are still a lot I’d like to cover in this module. Now I’m pleased to announce the new major release (version 2.0.1) is now available on both Github and PowerShell Gallery.
I’ve included the following updates in version 2.0.1:
- 26 additional functions!
- Updated the SharePoint CSOM (Client Component SDK) DLLs to the latest version in the module.
- Created a separate help file for the module. Get-Help is now fully working
- Various bug fixes
The table below lists all the functions that are shipped in the current release (version 2.0.1):
|Function||Description||Released on Version|
|Import-SPClientSDK||Load SharePoint Client SDK DLLs||1.0|
|New-SPCredential||Create a SharePoint credential that can be used authenticating to a SharePoint (online or On-Premise) site.||1.0|
|Get-SPServerVersion||Get SharePoint server version.||1.0|
|Get-SPListFields||Get all fields from a list on a SharePoint site.||1.0|
|Add-SPListItem||Add a list item to the SharePoint site.||1.0|
|Get-SPListItem||Get all items from a list on a SharePoint site or a specific item by specifying the List Item ID.||1.0|
|Remove-SPListItem||Delete a list item to the SharePoint site.||1.0|
|Update-SPListItem||Update a list item to the SharePoint site.||1.0|
|Get-SPListItemAttachments||Download all attachments from a SharePoint list item.||1.0|
|Add-SPListItemAttachment||Upload a file as a SharePoint list item attachment.||1.0|
|Remove-SPListItemAttachment||Remove a SharePoint list item attachment.||1.0|
|New-SPList||Create a new list on the SharePoint site.||2.1|
|Remove-SPList||Remove a list from the SharePoint site.||2.1|
|Get-SPList||Get a list from the SharePoint site.||2.1|
|New-SPListLookupField||Create a new lookup Field for a SharePoint list.||2.1|
|New-SPListCheckboxField||Create a new checkbox Field for a SharePoint list.||2.1|
|New-SPListSingleLineTextField||Create a new single line text Field for a SharePoint list.||2.1|
|New-SPListMultiLineTextField||Create a new Multi-line text Field for a SharePoint list.||2.1|
|New-SPListNumberField||Create a new number Field for a SharePoint list.||2.1|
|New-SPListChoiceField||Create a new choice Field for a SharePoint list.||2.1|
|New-SPListDateTimeField||Create a new date time Field for a SharePoint list.||2.1|
|New-SPListHyperLinkField||Create a new Hyperlink or Picture Field for a SharePoint list.||2.1|
|New-SPListPersonField||Create a new Person or Group Field for a SharePoint list.||2.1|
|Remove-SPListField||Remove a Field from a SharePoint list.||2.1|
|Update-SPListField||Update a SharePoint list field.||2.1|
|Set-SPListFieldVisibility||Set the visibility of a SharePoint list field.||2.1|
|Get-SPGroup||Get a single group or all groups from the SharePoint site.||2.1|
|New-SPGroup||Create a new SharePoint group.||2.1|
|New-SPGroupMember||Add an user to a SharePoint group.||2.1|
|Remove-SPGroupMember||Remove an user from a SharePoint group.||2.1|
|Clear-SPSiteRecycleBin||Empty the SharePoint site recycle bin.||2.1|
|Get-SPSiteTemplate||Get avaialble Site Template(s) from the SharePoint site.||2.1|
|New-SPSubSite||Create a new SharePoint sub site.||2.1|
|Get-SPSubSite||Get all SharePoint sub sites from a root site.||2.1|
|Remove-SPSubSite||Delete a SharePoint sub site.||2.1|
|Add-SPListFieldToDefaultView||Add a SharePoint list field to the list default view.||2.1|
|Remove-SPListFieldFromDefaultView||Remove a SharePoint list field to the list default view.||2.1|
As you can see, the previous version has shipped 11 functions, and 26 additional functions have been added to the current release (2.0.1). With this release, other than the SharePoint list items, we are also able to manage SharePoint lists, list fields, groups, group members, and even subsites. I have included functions to create what I believe the most common list fields (as highlighted below):
At this stage, there are still few things I’d like to cover in this module but I simply do not have time. Since I think I have reached another milestone at this stage, I have decided to release this version now and roll other ideas into the future release.
- Be a hero and save the day with OMS and Power BI (Co-present with CDM MVP Alex Verkinderen)
- Automation for IT Ops with OMS and Azure Automation (Co-present with CDM MVP Pete Zerger)
As part of the demos I have prepared for the Azure Automation session with Pete, I will cover how I’m using this module as part of my automation solutions.
After SCU, I am planning to write another blog post for my Automating OpsMgr series which will cover one of the our SCU demos (I know, it has been a long time since my last post for that series). I will also cover this module in more details in this upcoming blog post.
Download the Module
So for now, if you’d like to give this module a try, you can find it from both GitHub and PowerShell Gallery. All functions are fully documented in the help file. You can access the help document as well as code examples using Get-Help with –Full switch.
Lastly, if you have any feedback, or suggestions for future releases, please feel free to drop me an email.
This is all I have to share for today, until next time, happy automating .