Blog about anything related to my learnings
  • About
  • posts
bluesky
Blog about anything related to my learnings
POSTS

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
}
    © Blog about anything related to my learnings 2025
    bluesky