cls
# Connection String Variables, including client specific ID and Tenant
#$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'
$destList = "SMPSitesInventory";
# Define users to exclude
# Output CSV for results
#$outputCsv = $directorypath + ".\transformSpSites_IntoTeams_Channels_files" + $dateTime + ".csv"
#$results = @()
$domain = "bankofenglandcouk";
$adminSiteURL = "https://$domain.SharePoint.com"
Connect-PnPOnline -Url $adminSiteURL -ClientId $clientId
# Read sites from CSV
$sites = Import-Csv -Path $csvPath
$destconn = Connect-PnPOnline -Url $destiUrl -ClientId $clientId -ReturnConnection
foreach ($s in $sites) {
$siteUrl = $s.SiteUrl
Write-Host "Connecting to site: $siteUrl"
$siteconn = Connect-PnPOnline -Url $siteUrl -ClientId $clientId -ReturnConnection
$TeamName = "";
$ChannelName = "";
# Get the site title (Team Name)
$site = (Get-PnPSite -Includes GroupId, RelatedGroupId , RootWeb.Title -Connection $siteconn)
Write-Host "Team Name (Site Title): $($site.RootWeb.Title)"
If($site.GroupId -ne [Guid]::Empty )
{
$TeamName = $site.RootWeb.Title;
$ChannelName = "General";
# $owners = (Get-PnPTeamsUser -Team $TeamName -Role Owner -ErrorAction SilentlyContinue| Where-Object { $excludedUsers -notcontains $_.DisplayName } | select-Object -ExpandProperty DisplayName) -join ";" ;
}
elseif($site.RelatedGroupId)
{
$TeamName = (Get-PnPMicrosoft365Group -Identity $site.RelatedGroupId).DisplayName;
$ChannelName = $site.RootWeb.Title -Replace "$TeamName-","";
#$owners = (Get-PnPGroupMember -Group (Get-PnPGroup -AssociatedOwnerGroup -Connection $siteconn) -Connection $siteconn | Where-Object { $excludedUsers -notcontains $_.Title }| select-object -ExpandProperty Title ) -join ";"
}
# Add item to SharePoint list
Add-PnPListItem -List $destList -Values @{
Title = $s.Wave
Team = $TeamName
Channel = $ChannelName
#Owners = $owners
Site = $siteUrl
} -Connection $destconn
}