SharePoint Online: จะเปลี่ยนโลโก้ของไซต์โดยใช้ PowerShell ได้อย่างไร
ความต้องการ: เปลี่ยนโลโก้ในไซต์ SharePoint Online
จะเปลี่ยนโลโก้ใน SharePoint Online ได้อย่างไร
คุณต้องการเปลี่ยนโลโก้ SharePoint Online ของคุณหรือไม่? การเปลี่ยนแปลงโลโก้เป็นข้อกำหนดทั่วไปเมื่อพูดถึงการสร้างแบรนด์ไซต์ SharePoint Online บางทีคุณอาจต้องการอัปเดตโลโก้ใหม่ของบริษัทเพื่อให้สอดคล้องกับแบรนด์ของคุณมากขึ้น ในบทความนี้ เราจะแนะนำคุณตลอดกระบวนการทีละขั้นตอน นอกจากนี้เรายังจะแสดงวิธีการเปลี่ยนโลโก้บนไซต์ SharePoint Online ของคุณโดยใช้ PowerShell
ฉันจะเพิ่มโลโก้ลงในไซต์ SharePoint Online ของฉันได้อย่างไร เมื่อต้องการตั้งค่าโลโก้ใน SharePoint Online ให้ทำตามขั้นตอนเหล่านี้:
เข้าสู่ระบบในฐานะผู้ดูแลไซต์ในไซต์ SharePoint Online ของคุณ คลิกที่เฟืองการตั้งค่า >> เลือกการตั้งค่าไซต์ >> ในหน้าการตั้งค่าไซต์ คลิกลิงก์ “ชื่อ คำอธิบาย และโลโก้” (/_layouts/15/prjsetng.aspx)
- ที่นำคุณไปยังหน้าที่คุณสามารถตั้งค่าโลโก้สำหรับไซต์ได้ คุณสามารถใช้โลโก้จากคอมพิวเตอร์ของคุณหรือโลโก้ที่มีอยู่จากไซต์ SharePoint ของคุณ (แม้แต่รูปภาพที่มีอยู่จากอินเทอร์เน็ตด้วย)
-
คลิกที่ลิงค์ “จากคอมพิวเตอร์” >> เรียกดูและอัปโหลดไฟล์โลโก้ของคุณ เมื่อคุณอัปโหลด ไฟล์โลโก้จะถูกบันทึกลงในไลบรารีเอกสาร “ทรัพย์สินของไซต์” ของไซต์
ทันทีที่คุณอัปโหลดรูปภาพสำหรับโลโก้ คุณจะพบโลโก้ใหม่ปรากฏทันทีที่ด้านซ้ายบนของเว็บไซต์ หรือคุณสามารถป้อนคำอธิบายโลโก้ และคำอธิบายนี้จะกลายเป็นคำแนะนำเครื่องมือสำหรับโลโก้ใหม่ของคุณ คลิกที่ปุ่ม "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ คลิกยกเลิกเพื่อยกเลิก
แค่นั้นแหละ! โลโก้ใหม่ของคุณจะปรากฏบนไซต์ SharePoint Online สำหรับประสบการณ์แบบคลาสสิกของคุณ
SharePoint Online: วิธีเปลี่ยนโลโก้ในไซต์สมัยใหม่
ต่างจากไซต์ SharePoint เวอร์ชันคลาสสิก การเปลี่ยนโลโก้ของไซต์สำหรับไซต์ทีมสมัยใหม่และไซต์การติดต่อสื่อสารนั้นตรงไปตรงมา และสามารถทำได้ด้วยการคลิกเพียงไม่กี่ครั้ง
ไปที่ไซต์ Modern SharePoint ในฐานะเจ้าของไซต์ >> คลิกที่ไอคอนรูปเฟืองการตั้งค่า >> คลิกที่ "เปลี่ยนรูปลักษณ์" จากเมนูการตั้งค่าไซต์
ในแผงเปลี่ยนรูปลักษณ์ ให้คลิกลิงก์ "ส่วนหัว"
ตอนนี้คุณสามารถคลิกที่ปุ่ม "เปลี่ยน" ใต้ "โลโก้ไซต์" เพื่อเรียกดูภาพโลโก้ที่รองรับเป็นโลโก้สำหรับเว็บไซต์ของคุณ เมื่ออัปโหลดรูปภาพแล้ว คุณจะเห็นตัวอย่างรูปภาพ โลโก้นี้จะถูกนำมาใช้ในส่วนหัวของเว็บไซต์
- คลิกบันทึกเพื่อใช้การเปลี่ยนแปลงของคุณ
คุณยังสามารถเปลี่ยนรูปขนาดย่อของโลโก้ไซต์ด้วยโลโก้สี่เหลี่ยมจัตุรัสเพื่อให้ปรากฏในการค้นหาและการ์ดไซต์ได้ หากคุณต้องการเปลี่ยนกลับเป็นโลโก้ SharePoint เริ่มต้น ให้คลิกที่ปุ่ม "ลบ"
SharePoint Online PowerShell เพื่อเปลี่ยนโลโก้:
การเปลี่ยนโลโก้จาก UI ของเว็บนั้นค่อนข้างง่ายใช่ไหม ถ้าคุณมีไซต์คอลเลกชันที่มีไซต์ย่อยและไซต์ย่อยหลายร้อยไซต์ล่ะ จะเกิดอะไรขึ้นหากไซต์ต่างๆ ใช้โลโก้บริษัทของคุณในเวอร์ชันที่แตกต่างกันและต้องการทำให้โลโก้สอดคล้องกัน PowerShell คือคำตอบ! ลองใช้สคริปต์ PowerShell เพื่อเปลี่ยนโลโก้ของไซต์ใน SharePoint Online
#Add PowerShell Module for SharePoint Online
Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking
##Configuration variables
$SiteUrl = "https://crescent.sharepoint.com/"
$LogoURL="/SiteAssets/Logo.png" #Existing file
Try {
#Get Credentials to connect
$Cred = Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$Ctx.Credentials = $Credentials
$Web = $Ctx.Web
#Change Logo
$Web.SiteLogoUrl = $LogoURL
$Web.Update()
$Ctx.ExecuteQuery()
Write-host "Logo Updated Successfully!" -ForegroundColor Green
}
Catch {
write-host -f Red "Error updating Logo!" $_.Exception.Message
}
โปรดทราบว่า URL ของไฟล์ที่ LogoURL ต้องเป็นไฟล์ที่มีอยู่ในไซต์ SharePoint Online ดังนั้น ให้อัปโหลดโลโก้ไปที่รากของไซต์คอลเลกชันของคุณก่อน
PowerShell เพื่อเปลี่ยนโลโก้ของไซต์สำหรับไซต์คอลเลกชันและไซต์ย่อย:
มาเปลี่ยนโลโก้สำหรับไซต์ทั้งหมดภายในไซต์คอลเลกชัน SharePoint Online ตรวจสอบให้แน่ใจว่าคุณได้อัปโหลดไฟล์ “logo.png” ในไลบรารีเนื้อหาของไซต์ก่อนที่จะรันสคริปต์นี้
#Add PowerShell Module for SharePoint Online
Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking
##Configuration variables
$SiteUrl = "https://crescent.sharepoint.com/Sites/Sales"
$LogoURL="/SiteAssets/Logo.png"
Try {
#Get Credentials to connect
$Cred = Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
$Ctx.Credentials = $Credentials
#Get the Root web
$Web = $Ctx.Web
$Ctx.Load($Web)
$Ctx.ExecuteQuery()
#Function to change Logo for the given web
Function Update-Logo($Web)
{
#Update Logo
$Web.SiteLogoUrl = $LogoURL
$Web.Update()
$Ctx.ExecuteQuery()
Write-host "Updated Logo for Web:" $Web.URL
#Process each subsite in the site
$Subsites = $Web.Webs
$Ctx.Load($Subsites)
$Ctx.ExecuteQuery()
Foreach ($SubSite in $Subsites)
{
#Call the function to change sharepoint site logo
Update-Logo($Subsite)
}
}
#Call the function to change the logo of the web
Update-Logo($Web)
}
Catch {
write-host -f Red "Error updating Logo!" $_.Exception.Message
}
PnP PowerShell เพื่อเปลี่ยนโลโก้สำหรับไซต์ทั้งหมดในคอลเลกชันไซต์ SharePoint Online
มาตั้งค่าโลโก้ในแต่ละเว็บในไซต์คอลเลกชันในครั้งนี้ แทนที่จะอ้างอิงถึงโลโก้จากเว็บระดับบนสุด มาอัปโหลดไปยังแต่ละไซต์แล้วใช้ PnP PowerShell เพื่อเปลี่ยนโลโก้ของไซต์ใน SharePoint Online
#Function to set site Logo
Function Set-PnPSiteLogo
{
[cmdletbinding()]
param(
[parameter(Mandatory = $true, ValueFromPipeline = $false)]$Web,
[parameter(Mandatory = $true, ValueFromPipeline = $false)][String] $LogoFilePath
)
Try {
Write-host "Updating Logo on Site '$($Web.URL)'"
Connect-PnPOnline -Url $Web.URL -Interactive
#Ensure "Site Assets" library in the site
$SiteAssets = Get-PnPList -Identity "Site Assets" -ErrorAction SilentlyContinue
If($SiteAssets -eq $Null)
{
New-PnPList -Title "Site Assets" -Template DocumentLibrary -Url "SiteAssets" -ErrorAction SilentlyContinue | Out-Null
}
#Upload Logo File to 'Site Assets' library of the current web
Add-PnPFile -Path $LogoFilePath -Folder "SiteAssets" | Out-Null
#Get File Name from Logo File's Full Path
$LogoFileName = Split-Path $LogoFilePath -leaf
#Set Site Logo
Set-PnpWeb -SiteLogoUrl "$($Web.ServerRelativeUrl)/SiteAssets/$($LogoFileName)"
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Parameters
$SiteURL = "https://Crescent.sharepoint.com/sites/Marketing"
$LogoPath = "C:\Temp\Logo.jpg"
#Connect to Site
Connect-PnPOnline -Url $SiteURL -Interactive
$Webs = Get-PnPSubWeb -Recurse -IncludeRootWeb
#Call the function to change site logo
$Webs | ForEach-Object { Set-PnPSiteLogo -Web $_ -LogoFilePath $LogoPath }
อย่างไรก็ตาม PowerShell นี้ใช้งานได้กับไซต์ที่เชื่อมต่อที่ไม่ใช่กลุ่มเท่านั้น!
จะเปลี่ยนโลโก้บนไซต์ที่เชื่อมต่อกับ Modern Group ได้อย่างไร
ถ้าไซต์ถูกสร้างขึ้นในกลุ่ม Office 365 หรือ Microsoft Teams โลโก้ที่เปลี่ยนไปในแอปเหล่านั้นจะไม่สะท้อนกลับไปยัง SharePoint Online เพียงแทนที่ไฟล์ “__siteIcon__.jpg” ใต้ไลบรารี “Site Assets” (สร้างใหม่หากไม่มีอยู่!) เพื่อเปลี่ยนโลโก้ของเว็บไซต์!
หากคุณต้องการตั้งค่าโลโก้ของไซต์สำหรับไซต์ที่เชื่อมต่อกลุ่มสมัยใหม่ด้วย PowerShell ให้ใช้ Set-PnPSite cmdlet พร้อมพารามิเตอร์ "LogoFilePath":
$SiteURL = "https://crescent.sharepoint.com/sites/Purchase"
$LogoPath = "C:\Temp\Logo.jpg"
#Connect to Site
Connect-PnPOnline -Url $SiteURL -Interactive
#Set Site Logo
Set-PnPSite -LogoFilePath $LogoPath
เมื่อพยายามเปลี่ยนโลโก้ของไซต์ในกลุ่มไซต์ที่เชื่อมต่อ ฉันได้รับข้อความแสดงข้อผิดพลาด: “เราประสบปัญหาในการอัปเดตไอคอน โปรดลองอีกครั้งในไม่กี่นาที." เนื่องจาก: ผู้ใช้ที่พยายามเปลี่ยนโลโก้ของไซต์ไม่ใช่เจ้าของกลุ่ม! เพียงเพิ่มผู้ใช้เป็นเจ้าของกลุ่ม Office 365 และเขาควรจะสามารถเปลี่ยนโลโก้ของไซต์ได้!
จะเปลี่ยนโลโก้ของไซต์ในผู้เช่าทั้งหมดสำหรับไซต์และไซต์ย่อยทั้งหมดได้อย่างไร
สคริปต์ PowerShell นี้วนซ้ำผ่านแต่ละไซต์คอลเลกชัน SharePoint ในผู้เช่า Microsoft 365 และอัปเดตโลโก้จากพารามิเตอร์ สคริปต์นี้สามารถจัดการทั้งไซต์คลาสสิกและไซต์ที่เชื่อมต่อกับกลุ่มสมัยใหม่
#Parameters
$Domain = "Crescent" #Your Domain Name in SharePoint Online. E.g. https://Crescent.SharePoint.com
$LogoFilePath = "C:\Temp\SPLogo.jpg"
$Cred = Get-Credential
#Frame Tenant URL and Tenant Admin URL
$TenantURL = "https://$Domain.SharePoint.com"
$TenantAdminURL = "https://$Domain-Admin.SharePoint.com"
#Function to set site Logo
Function Set-PnPSiteLogo
{
[cmdletbinding()]
param(
[parameter(Mandatory = $true, ValueFromPipeline = $True)]$Web,
[parameter(Mandatory = $true, ValueFromPipeline = $False)][String] $LogoFilePath
)
Try {
Connect-PnPOnline -Url $Web.URL -Credentials $Cred
#Ensure "Site Assets" library in the site
$SiteAssets = Get-PnPList -Identity "Site Assets" -ErrorAction SilentlyContinue
If($SiteAssets -eq $Null)
{
New-PnPList -Title "Site Assets" -Template DocumentLibrary -Url "SiteAssets" -ErrorAction SilentlyContinue | Out-Null
}
#Upload Logo File to 'Site Assets' library of the current web
Add-PnPFile -Path $LogoFilePath -Folder "SiteAssets" | Out-Null
#Get File Name from Logo File's Full Path
$LogoFileName = Split-Path $LogoFilePath -leaf
#Set Site Logo
Set-PnpWeb -SiteLogoUrl "$($Web.ServerRelativeUrl)/SiteAssets/$($LogoFileName)"
Write-host "`n`tUpdated Logo on Web '$($Web.URL)'" -f Green
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Connect to Admin Center
Connect-PnPOnline -Url $TenantAdminURL -Credentials $Cred
#Get All Site collections - Exclude BOT, Video Portals and MySites
$Sites = Get-PnPTenantSite -Filter "Url -like $TenantURL -and Url -notlike '-my.sharepoint.com/' -and Url -notlike '/portals/'"
#Iterate through all site collections
$Sites | ForEach-Object {
#Connect to each site collection
Connect-PnPOnline -Url $_.URL -Credentials $Cred
Write-host "Processing Site Collection:"$_.URL -f Yellow -NoNewline
#Check if its a Group site
If($_.Template -like 'GROUP*')
{
Set-PnPSite -LogoFilePath $LogoFilePath
Write-host "`n`tUpdated Logo on Group Site!" -f Green
}
Else
{
#Call the Function for site & all Subwebs
Get-PnPSubWeb -Recurse -IncludeRootWeb | ForEach-Object { Set-PnPSiteLogo -Web $_ -LogoFilePath $LogoFilePath }
}
}
ลองเปลี่ยนเค้าโครงส่วนหัว โลโก้ของไซต์ และพื้นหลังในไซต์ SharePoint Online สมัยใหม่ดูไหม ไปเลย: วิธีเปลี่ยนเค้าโครงส่วนหัว, โลโก้ของไซต์, พื้นหลังใน SharePoint Online โดยใช้ PowerShell




