Skip to content

Instantly share code, notes, and snippets.

View add-type-csom-multiple-versions.ps1
$pnpModule = Get-Module PnP.PowerShell -ListAvailable | Sort-Object Version -Descending | Select-Object -First 1
View orgassets-global-local.ps1
# This script creates organization assets libraries, organization wide and local ones (country specific)
# Check the status first
Get-SPOTenantCdnEnabled -CdnType Private
Get-SPOTenantCdnOrigins -CdnType Private
# Create a site that will host organization assets
View o365-license-storage.ps1
# it calculates storage capacity in SharePoint Online
# read more on my blog post:
$sku = Get-MsolAccountSku
$sku2 = $sku | % {
$s = $_;
$sr = [PSCustomObject]@{
SkuPartNumber = $s.SkuPartNumber;
Licenses = $s.ActiveUnits + $s.WarningUnits
Services = $s.ServiceStatus | % { $_.ServicePlan.ServiceName };
git config --global ""
git config --global "Azure DevOps"
EXTRAHEADER="Authorization: Bearer $(System.AccessToken)"
git -c http.extraheader="$EXTRAHEADER" clone $REPO
cd $(Build.Repository.Name)
MAINBRANCHNAME=$(git rev-parse --abbrev-ref HEAD)
View demote-news.ps1
$site = "https://{tenant}{site}"
Connect-PnPOnline -Url $site -SPOManagementShell -ClearTokenCache
$field = "Promoted State"
$list = "Site Pages"
$id = 85 #the item id of the news
Set-PnPField -Identity $field -List $list -Values @{ReadOnlyField=$false}
#make sure to enclose the number into quotation marks
Set-PnPListItem -List $list -Identity $id -Values {"Promoted State"="0"}
#reset the field
Set-PnPField -Identity $field -List $list -Values @{ReadOnlyField=$true}
View get-services-health-admin.js
//this little javascript is to get the services to include in the
//Microsoft 365 Admin Center -> Health Center -> Preferences
//Inspect the area in Chrome/Edge and then run this in Console
spans = $0.querySelectorAll('div > div span')
arr2 = => s.innerText).join('\n')
View magicmirror.config.js
var config = {
address: "", // Address to listen on, can be:
port: 8080,
basePath: "/", // The URL path where MagicMirror is hosted. If you are using a Reverse proxy
ipWhitelist: [], // Set [] to allow all IP addresses
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "cv",
logLevel: ["INFO", "LOG", "WARN", "ERROR"],
find . -type f -name "*.JPG" | \
while read -r f;do [ -e "${f%.JPG}.MOV" ] && rm "${f%.JPG}.MOV";done
View alert-actiongroup-relationship.uml
[Alert Rule]*-*[Action Group]