posts
Duplicate tags/term sets were noticed while typing the term to select and the term set had 10k of terms making it harder to spot the issue. There are exisiting script to export term set but woul export only the first level and not the other levels and synonymns, hence the script
# ===== Logging =============================================================== $logFile = ".\term_export_Log-$(Get-Date -Format "yyyyMMdd-HHmm").csv" function Log-Message { param ( [string]$Message, [string]$Status = "Info" ) switch ($Status) { "Success" { $color = "Green" } "Info" { $color = "Blue" } "Error" { $color = "Red" } default { $color = "White" } } Write-Host -ForegroundColor $color "$Status => $Message" $logEntry = [PSCustomObject]@{ Timestamp = (Get-Date).
posts
If you try get-pnpfile using full path, the url needs to be encoded. There are loads of issues with special charaters like [ ] becomes %5B and %5D in
$encodedfileUrl = [System.Web.HttpUtility]::UrlPathEncode($fileUrl) $item = Get-PnPFile -Url $encodedfileUrl -AsListItem -ErrorAction Stop Log-Message "Retrieved file: $fileUrl" "Success" Those two methods don’t handle [ ] [System.Web.HttpUtility]::UrlPathEncode(…): obsolete and doesn’t encode [/]. [System.Uri]::EscapeUriString(…): does not encode [ and ] and may leave other characters unencoded.
posts
cls # Connection String Variables, including client specific ID and Tenant $clientId = "xxxxxxx" #$dateTime = (Get-Date).toString("dd-MM-yyyy-hh-ss") $invocation = (Get-Variable MyInvocation).Value $directorypath = Split-Path $invocation.MyCommand.Path # Set parameters $csvPath = $directorypath + "\Sites.csv" # CSV should have a column 'SiteUrl' $destiUrl = "https://contoso.sharepoint.com/sites/test"; $destList = "OwnersMapping"; # Define users to exclude $excludedUsers = @("tom, roy", "mary, jane") $excludedusersemails = @("tom.roy@contoso.co.uk", "mary.jane@contoso.co.uk") # Output CSV for results #$outputCsv = $directorypath + ".