วิธีเปิดใช้งานสคริปต์ที่กำหนดเองใน SharePoint Online โดยใช้ PowerShell
ข้อกำหนด: อนุญาตสคริปต์แบบกำหนดเองใน SharePoint Online!
ตามค่าเริ่มต้น สคริปต์แบบกำหนดเองจะถูกปิดใช้งานในไซต์ทีมสมัยใหม่ของ SharePoint Online ไซต์การติดต่อสื่อสาร ไซต์ราก ไซต์ที่ผู้ใช้สร้างขึ้นเอง และในไซต์ OneDrive ด้วยเหตุผลด้านความปลอดภัย ดังนั้น คุณลักษณะด้านล่างจะถูกบล็อกเมื่อปิดใช้งานสคริปต์แบบกำหนดเอง:
- Web Part จำนวนมาก รวมถึงตัวแก้ไขเนื้อหาและตัวแก้ไขสคริปต์ถูกปิดใช้งาน
- การอัปโหลดไฟล์ที่อาจมีสคริปต์จะถูกบล็อก
- ไม่อนุญาตให้เปลี่ยนแปลงสคริปต์ SharePoint Designer และการกระทำแบบกำหนดเองจะไม่ทำงานอีกต่อไป ไซต์ย่อยใหม่และลบไซต์จะนำคุณไปยังหน้าการตั้งค่าไซต์ในเบราว์เซอร์
- บันทึกไซต์เป็นเทมเพลต รายการเทมเพลต บันทึกไลบรารีเอกสารเป็นลิงก์เทมเพลตที่ปิดใช้งานในไซต์ SharePoint
- แกลเลอรีโซลูชัน โซลูชัน Sandbox แกลเลอรีธีม และความปลอดภัยของฟิลด์ HTML ไม่พร้อมใช้งานในการตั้งค่าไซต์
- ประเภทไฟล์ต่อไปนี้จะถูกบล็อกตามค่าเริ่มต้น: .asmx .ascx .aspx .htc .jar .master .swf .xap .xsf
- คุณลักษณะอื่นๆ ที่เกี่ยวข้องกับสคริปต์ทั้งหมดจะถูกปิด
ดังนั้น เพื่อแก้ไขปัญหาข้างต้น เราจำเป็นต้องเปิดใช้งานการตั้งค่าสคริปต์แบบกำหนดเอง บทความนี้จะอธิบายขั้นตอนในการเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online
จะเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online ผ่านศูนย์การจัดการได้อย่างไร
ฉันจะเปิดใช้งานการเขียนสคริปต์แบบกำหนดเองใน SharePoint Online ได้อย่างไร เมื่อต้องการอนุญาตสคริปต์แบบกำหนดเองใน SharePoint Online ให้ทำตามขั้นตอนเหล่านี้:
- ลงชื่อเข้าใช้ Microsoft 365 ผ่านเบราว์เซอร์แล้วไปที่ศูนย์การจัดการ SharePoint: https://
-admin.sharepoint.com - คลิกที่การตั้งค่าจากการนำทางด้านซ้าย >> คลิกที่ “หน้าการตั้งค่าแบบคลาสสิก” (https://
-admin.sharepoint.com/_layouts/15/online/TenantSettings.aspx) >> เลื่อนลงไปที่ส่วน "สคริปต์ที่กำหนดเอง" ภายใต้ส่วนสคริปต์ที่กำหนดเอง ให้ตั้งค่าตัวเลือก "อนุญาตให้ผู้ใช้เรียกใช้สคริปต์ที่กำหนดเองบนไซต์ส่วนบุคคล" และ "อนุญาตให้ผู้ใช้เรียกใช้สคริปต์ที่กำหนดเองบนไซต์ที่สร้างขึ้นด้วยตนเอง"
- คลิกที่ "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ
ซึ่งเปิดใช้งานการเขียนสคริปต์แบบกำหนดเองในการตั้งค่าผู้เช่า SharePoint Online และสำหรับไซต์บริการตนเองเพิ่มเติมหรือไซต์ที่สร้างโดยผู้ดูแลระบบ อย่างไรก็ตาม การเปลี่ยนแปลงนี้อาจใช้เวลาถึง 24 ชั่วโมงจึงจะมีผล เมื่อต้องการเปิดใช้งานสคริปต์บนไซต์คอลเลกชันใดไซต์หนึ่งทันที ให้ใช้สคริปต์ PowerShell นี้ผ่าน SharePoint Online Management Shell
การเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online เป็นกระบวนการที่ค่อนข้างง่าย เมื่อคุณเปิดใช้งานสคริปต์แบบกำหนดเองผ่านทางศูนย์การจัดการ SharePoint Online คุณจะเปิดใช้งานสำหรับไซต์ทั้งหมดในผู้เช่า ในขณะที่คุณสามารถเปิดใช้งานหรือปิดใช้งานสคริปต์แบบกำหนดเองบนคอลเลกชันไซต์ SharePoint Online เฉพาะผ่าน PowerShell
อนุญาตสคริปต์แบบกำหนดเองใน SharePoint Online โดยใช้ PowerShell
วิธีเปิดใช้งานสคริปต์ที่กำหนดเองในไซต์ SharePoint Online มาดูขั้นตอนในการเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online สิ่งแรกที่คุณต้องทำคือเปิด SharePoint Online Management Shell และเชื่อมต่อกับผู้เช่า SharePoint Online ของคุณโดยใช้ cmdlet “Connect-SPOService -url https://yourtenant-admin.sharepoint.com” เมื่อคุณเชื่อมต่อแล้ว คุณจะต้องเรียกใช้ cmdlet ต่อไปนี้: Set-SPOsite -DenyAddAndCustomizePages 0
ต่อไปนี้เป็นวิธีเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online โดยใช้ PowerShell ในระดับไซต์คอลเลกชัน:
#Config Parameters
$AdminSiteURL="https://crescent-admin.sharepoint.com"
$SiteURL="https://crescent.sharepoint.com"
#Connect to SharePoint Online Tenant Admin portal
Connect-SPOService -URL $AdminSiteURL
#sharepoint online enable custom scripts powershell - Disable DenyAddAndCustomizePages Flag
Set-SPOSite $SiteURL -DenyAddAndCustomizePages $False
เมื่อต้องการปิดใช้งานสคริปต์แบบกำหนดเองสำหรับไซต์คอลเลกชัน SharePoint Online ให้ใช้ด้านล่างในคอนโซล PowerShell:
Set-SPOsite $SiteURL -DenyAddAndCustomizePages $True
PnP PowerShell เพื่อเปิดใช้งานการเขียนสคริปต์แบบกำหนดเองใน SharePoint Online
เมื่อต้องการเปิดใช้งานสคริปต์แบบกำหนดเองสำหรับไซต์คอลเลกชัน SharePoint เราได้ตั้งค่าสถานะ "DenyAddandCustomizepages" โดยใช้โมดูล PnP PowerShell ใน SharePoint Online:
#Parameters
$TenantAdminURL= "https://crescent-admin.sharepoint.com"
$SiteURL= "https://crescent.sharepoint.com/sites/Procurement"
#Connect to Tenant Admin
Connect-PnPOnline $TenantAdminURL -Interactive
#Enable Custom Scripting by turning OFF Deny Flag
Set-PnPTenantSite -Identity $SiteURL -DenyAddAndCustomizePages:$false
คุณยังสามารถเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online ได้โดยใช้ PnP PowerShell Set-PnPSite cmdlet:
#Set Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/purchase"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
#sharepoint online allow custom scripts powershell
Set-PnPSite -Identity $SiteURL -NoScriptSite $false
วิธีเปิดใช้งานสคริปต์ที่กำหนดเองสำหรับไซต์ทั้งหมดใน SharePoint Online
ลองเปิดใช้งานสคริปต์แบบกำหนดเองสำหรับไซต์ SharePoint Online ทั้งหมดในผู้เช่าทันทีแทนที่จะทำทีละไซต์
#Parameters
$TenantURL = "https://Crescent.sharepoint.com"
#Get Credentials to connect
$Credential = Get-Credential
#Frame Tenant Admin URL from Tenant URL
$TenantAdminURL = $TenantURL.Insert($TenantURL.IndexOf("."),"-admin")
#Connect to Admin Center
Connect-PnPOnline -Url $TenantAdminURL -Credentials $Credential
#Get All Site collections - Filter BOT and MySite Host
$Sites = Get-PnPTenantSite -Filter "Url -like '$TenantURL' -and Url -notlike 'portals/hub'"
#Iterate through all sites
$Sites | ForEach-Object {
Write-host "Processing Site Collection:"$_.URL
#Enable Custom Script
If ($_.DenyAddAndCustomizePages -ne "Disabled")
{
Set-PnPTenantSite -Identity $_.URL -DenyAddAndCustomizePages:$false
Write-host "`tCustom Script has been Enabled!" -f Green
}
Else
{
Write-host "`tCustom Script is Already Enabled!" -f Yellow
}
}
โดยสรุป เราได้แสดงวิธีเปิดใช้งานสคริปต์แบบกำหนดเองใน SharePoint Online โดยใช้ SharePoint Admin Center และ PowerShell ด้วยการทำตามขั้นตอนเหล่านี้ คุณสามารถเปิดใช้งานสคริปต์แบบกำหนดเองสำหรับไซต์คอลเลกชันหรือไซต์เฉพาะ หรือสำหรับไซต์คอลเลกชันและไซต์ทั้งหมดในผู้เช่า SharePoint Online ของคุณได้อย่างง่ายดาย ข้อมูลอ้างอิงของ Microsoft: อนุญาตหรือป้องกันสคริปต์แบบกำหนดเอง
