Category Archives: Sharepoint Online

Auditing your Sharepoint Online site collections

As, generally, we want to know what goes on in our environment, I like to enable Auditing wherever I can. Sharepoint is a more and more important resource where we store our data. Auditing can be very useful if files dissapear, auditors need specific information, or worse, cryptolockers rename all your files.

As setting audit logging through the interface is well documented, I wanted to share the Powershell way of doing this, assuming you’ve already installed the Sharepoint Client Components:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null

$Context = New-Object Microsoft.SharePoint.Client.ClientContext("INSERT YOUR SITE URL HERE")
$secPassword = ConvertTo-SecureString "YOUR PASSWORD" -AsPlainText -force
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials("YOUR LOGIN",$secpassword)
$Context.RequestTimeout = 16384000
$Context.Credentials = $Credentials

#set audit logging for the site collection to ALL
$Context.Site.Audit.AuditFlags = "All"

O365AntiCryptoLocker, restores the previous version of your files in Sharepoint Online or Onedrive for Business

Note: O365Undo is also free and can probably help you fix your crytolocker problem more precisely as it is the next version of O365AntiCryptoLocker


At OGD we sometimes have to deal with users that got infected with CryptoLockers and have both automated and controlled systems in place to prevent damage or restore data to any fileshares. An infection on Sharepoint Online or Onedrive has not yet happened, but eventually it of course will and I like to fix things before they break.

As Sharepoint Online and Onedrive for Business natively use versioning on files, you basically have no real risk of losing data to Cryptolockers, your RPO (Restore Point Objective) is 0. However, restoring the previous versions of files is quite a lot of work if done manually, so your RTO (Restore Time Objective) could be weeks or more.

Unless of course, you use Powershell. I’ve written a script that will restore the most current previous version of any file in a given Document Library.

Download: O365AntiCryptoLocker

Example usage for a Onedrive site:

.\O365AntiCryptoLocker.ps1 -siteURL "" -login "mylogin" -password "mypassword" -libraryTitle "Documents"

Or for a Sharepoint Online Site:

.\O365AntiCryptoLocker.ps1 -siteURL "" -login "mylogin" -password "mypassword" -libraryTitle "Documents"

You’ll need the Sharepoint Client Components installed, and you’ll have to have sufficient permissions on the library and its files.


O365Migrator v0.9 released!

Version 0.9 of O365Migrator is now available as a free download.

What was changed?

  • Differential transfer: upload only changed/new files. (does not process renames, moves and deletes yet!)
  • Subfolder targeting: upload to a specific subfolder instead of the root if specified
  • Better library name detection when admin and user have different language settings

You can find the new version here.

Migrating files and folders to Onedrive for Business and Sharepoint Online without user interaction part 1

This is the first post in a series about moving to Onedrive for Business and/or Sharepoint Online from traditional fileshares and/or homedirectories, in bulk, without user interaction.


  1. Making your data compliant with Office 365 standards, and keeping it that way
  2. Moving the data (in bulk)
  3. User and endpoint transitioning

Many of my employer’s clients are transitioning to a Cloud First IT model. Think triple A, work anywhere, anytime, anyplace.

This poses a number of challenges on Continue reading Migrating files and folders to Onedrive for Business and Sharepoint Online without user interaction part 1

O365BulkDatacleaner released

The first public version of the O365BulkDatacleaner has been released.

This script is an addition to O365Datacleaner and will allow you to run the original script over many target locations simultaneously, using a CSV file as input.

This is the simplest and most reliable method currently available to make, for example, all the data on your fileservers spread out over homedirectories completely compliant with Onedrive for Business or Sharepoint Online’s requirements.

Viewing permissions on a Sharepoint Online site with Powershell

If you want to use the Sharepoint Online Management Shell module for Powershell to view user permissions on your Sharepoint Online site, start a Powershell window as admin. If you’re not running as admin you’ll have to add the module path to your environment variable like this:

$env:PSModulePath += ";C:\Program Files\SharePoint Online Management Shell\"

Then load the SPO module:

Import-Module Microsoft.Online.SharePoint.PowerShell

And connect to your sharepoint tenant: Continue reading Viewing permissions on a Sharepoint Online site with Powershell

Sharepoint Online going from 10GB to 1TB (+500MB) per tenant

Do you remember Microsoft raised the maximum storage in Sharepoint Online to 1TB last year?

Well, if you look at the Office 365 roadmap, Microsoft has announced it is also increasing the FREE storage each tenant gets by default to 1TB (from 10GB) in Sharepoint Online. The additional SP Online storage per licensed user remains the same at 500MB / user.

That could save us up to 200$ / month 🙂