ค้นหาเว็บไซต์

วิธีเปิดใช้งานสคริปต์ที่กำหนดเองใน 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 ให้ทำตามขั้นตอนเหล่านี้:

  1. ลงชื่อเข้าใช้ Microsoft 365 ผ่านเบราว์เซอร์แล้วไปที่ศูนย์การจัดการ SharePoint: https://-admin.sharepoint.com
  2. คลิกที่การตั้งค่าจากการนำทางด้านซ้าย >> คลิกที่ “หน้าการตั้งค่าแบบคลาสสิก” (https://-admin.sharepoint.com/_layouts/15/online/TenantSettings.aspx) >> เลื่อนลงไปที่ส่วน "สคริปต์ที่กำหนดเอง"
  3. ภายใต้ส่วนสคริปต์ที่กำหนดเอง ให้ตั้งค่าตัวเลือก "อนุญาตให้ผู้ใช้เรียกใช้สคริปต์ที่กำหนดเองบนไซต์ส่วนบุคคล" และ "อนุญาตให้ผู้ใช้เรียกใช้สคริปต์ที่กำหนดเองบนไซต์ที่สร้างขึ้นด้วยตนเอง"

  4. คลิกที่ "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ
ใน Modern Admin center การกำหนดค่านี้จะถูกย้ายไปที่ "หน้าการตั้งค่าแบบคลาสสิก"! คลิกที่การตั้งค่า >> คลิกที่ลิงค์ “หน้าการตั้งค่าแบบคลาสสิก” จากด้านล่างของหน้า!

ซึ่งเปิดใช้งานการเขียนสคริปต์แบบกำหนดเองในการตั้งค่าผู้เช่า 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: อนุญาตหรือป้องกันสคริปต์แบบกำหนดเอง

บทความที่เกี่ยวข้อง