วิธีรับไซต์ SharePoint Online ทั้งหมดโดยใช้ PnP PowerShell
ลูกค้ารายหนึ่งของฉันเพิ่งขอให้ฉันรับไซต์ทั้งหมดที่นำเสนอในสภาพแวดล้อม SharePoint Online ฉันลองใช้ PnP PowerShell สำหรับสิ่งนี้ ในบทช่วยสอนนี้ ฉันจะแสดงวิธีรับไซต์ SharePoint Online ทั้งหมดโดยใช้ PnP PowerShell
ที่นี่ ฉันจะแสดงให้คุณเห็นวิธีการรับไซต์ทีม SharePoint ไซต์การติดต่อสื่อสาร ไซต์ SharePoint ที่ไม่ได้เชื่อมต่อกับกลุ่ม Microsoft 365 ฯลฯ ทั้งหมด สคริปต์ PnP PowerShell จะแสดงวันที่สร้างของไซต์ SharePoint Online ทั้งหมดด้วย
หากคุณยังใหม่กับ PnP PowerShell ขั้นแรกให้ติดตั้งโดยใช้ cmdlet ด้านล่าง หรือดูบทความนี้ ซึ่งฉันได้อธิบายไว้ทีละขั้นตอนแล้ว
Install-Module -Name PnP.PowerShell -Force -AllowClobberรับไซต์ SharePoint Online ทั้งหมดโดยใช้ PnP PowerShell
ก่อนอื่น ให้ฉันแสดงวิธีดึงข้อมูลไซต์ SharePoint ทั้งหมดโดยใช้ PnP PowerShell มันจะแสดง URL ของไซต์และวันที่สร้าง
# Connect to SharePoint Online
$TenantAdminUrl = "https://szg52-admin.sharepoint.com"
Connect-PnPOnline -Url $TenantAdminUrl -Interactive
# Retrieve all sites
$sites = Get-PnPTenantSite
# Output all sites with URL
Write-Output "All SharePoint Online Sites:"
$sites | ForEach-Object {
Write-host "Site Title:" $_.Title -"Site URL: " $_.URL
}ฉันรันสคริปต์ด้านบนแล้ว และคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:
หากคุณต้องการส่งออกเป็นไฟล์ Excel คุณสามารถแก้ไขสคริปต์ได้ดังนี้:
# Connect to SharePoint Online
$TenantAdminUrl = "https://szg52-admin.sharepoint.com"
Connect-PnPOnline -Url $TenantAdminUrl -Interactive
# Retrieve all sites
$sites = Get-PnPTenantSite
# Prepare data for export
$siteData = $sites | ForEach-Object {
[PSCustomObject]@{
Title = $_.Title
URL = $_.Url
OwnernName = $_.OwnerEmail
}
}
# Export data to Excel
$siteData | Export-Excel -Path "C:\MyNewFolder\SharePointSites.xlsx" -AutoSize -Title "SharePoint Online Sites"อ่านตรวจสอบว่ามีไซต์ SharePoint โดยใช้ PnP PowerShell หรือไม่
รับไซต์ทีม SharePoint Online ทั้งหมดโดยใช้ PnP PowerShell
จะมีสถานการณ์ที่คุณอาจต้องการรับไซต์ทีมทั้งหมดจาก 11SharePoint Online โดยใช้ PnP PowerShell
ด้านล่างนี้คือสคริปต์ PowerShell ที่สมบูรณ์เพื่อให้ไซต์ทีมสมัยใหม่ทั้งหมดที่เชื่อมต่อกับกลุ่ม Microsoft 365
# Connect to SharePoint Online
$TenantAdminUrl = "https://szg52-admin.sharepoint.com"
Connect-PnPOnline -Url $TenantAdminUrl -Interactive
# Retrieve all sites
$Sites = Get-PnPTenantSite -Template GROUP#0
Write-Output "Group Connected Team Sites:"
# Output all sites with URL
$Sites | ForEach-Object {
Write-host "Site Title:" $_.Title -"Site URL: " $_.URL
}คุณสามารถดูภาพหน้าจอด้านล่างที่แสดงไซต์ทีมที่เชื่อมต่อกับกลุ่มทั้งหมด ตามที่ฉันได้ระบุ -Template เป็น GROUP#0
นี่คือสคริปต์ฉบับสมบูรณ์เพื่อรับไซต์ทีม SharePoint Online ทั้งหมด (รวมถึงไซต์ที่เชื่อมต่อกับกลุ่ม Microsoft 365) โดยใช้ PnP PowerShell
# Connect to SharePoint Online
$TenantAdminUrl = "https://szg52-admin.sharepoint.com"
Connect-PnPOnline -Url $TenantAdminUrl -Interactive
# Retrieve all sites
$sites = Get-PnPTenantSite
$teamSites = $sites | Where-Object { $_.GroupId -ne $null }
# Output all sites with URL
Write-Output "All SharePoint Online Sites:"
$teamSites | ForEach-Object {
Write-host "Site Title:" $_.Title -"Site URL: " $_.URL
}คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์ PowerShell ด้านบนโดยใช้โค้ด VS
รับไซต์การสื่อสารออนไลน์ของ SharePoint ทั้งหมดโดยใช้ PnP PowerShell
เป็นเรื่องง่ายมากที่จะรับไซต์การสื่อสารทั้งหมดโดยใช้ PnP PowerShell ใน SharePoint Online คุณเพียงแค่ต้องส่งเทมเพลตใน Get-PnPTenantSite เช่น: Get-PnPTenantSite -Template SITEPAGEPUBLISHING#0
นี่คือสคริปต์ที่สมบูรณ์
# Connect to SharePoint Online
$TenantAdminUrl = "https://szg52-admin.sharepoint.com"
Connect-PnPOnline -Url $TenantAdminUrl -Interactive
# Retrieve all sites
$communicationSites = Get-PnPTenantSite -Template SITEPAGEPUBLISHING#0
Write-Output "Communication Sites:"
# Output all sites with URL
$communicationSites | ForEach-Object {
Write-host "Site Title:" $_.Title -"Site URL: " $_.URL
}ฉันรันสคริปต์ PowerShell ข้างต้น และคุณสามารถดูผลลัพธ์ที่แน่นอนได้ในภาพหน้าจอด้านล่าง:
ฉันหวังว่าคุณจะได้ทราบวิธีรับไซต์การสื่อสาร SharePoint Online ทั้งหมดโดยใช้ PnP PowerShell
บทสรุป
ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีรับไซต์ SharePoint ทั้งหมดโดยใช้ PnP PowerShell และยัง:
- รับไซต์ทีมที่ทันสมัยทั้งหมดที่เชื่อมต่อกับกลุ่ม Microsoft 365 โดยใช้ PnP PowerShell
- รับไซต์การสื่อสารทั้งหมดโดยใช้ PnP PowerShell



