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

คัดลอกการแจ้งเตือนจากรายการหรือไลบรารี SharePoint หนึ่งไปยังอีกรายการหนึ่งโดยใช้ PowerShell


ข้อกำหนด: คัดลอกการแจ้งเตือนจากรายการ SharePoint หนึ่งไปยังอีกรายการหนึ่ง

วิธีแก้ไข: ใช้สคริปต์ PowerShell นี้เพื่อคัดลอกการแจ้งเตือนระหว่างรายการหรือไลบรารี SharePoint

สถานการณ์ของฉันคือ: เรามีรายการที่มีการแจ้งเตือนจำนวนหนึ่งที่สร้างขึ้นสำหรับผู้ใช้ที่หลากหลาย เราคัดลอกรายการนั้นไปยังไซต์ใหม่ผ่าน "บันทึกรายการเป็นเทมเพลต" และข้อกำหนดในการเตือนการคัดลอกก็มาถึง!


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

function Copy-SPAlerts($SourceWebUrl,$SourceList, $TargetWebUrl, $TargetList)
{
    #Get the source Web & List objects
    $SourceWeb = Get-SPWeb $SourceWebUrl
    $SourceList= $SourceWeb.lists.TryGetList($SourceList)   

    #Get the Target Web & List objects
    $TargetWeb = Get-SPWeb $TargetWebUrl
    $TargetList= $TargetWeb.lists.TryGetList($TargetList)   
 
    #Get All Alerts of the Source list
    $SourceAlertsColl = $SourceWeb.Alerts | Where-Object { ($_.List.Title -eq $SourceList.Title)}
    
    write-host Found $SourceAlertsColl.count alerts in the source List!

    if($SourceAlertsColl.Count -gt 0)
    {
        foreach ($SourceAlert in $SourceAlertsColl)
        {
            #Copy alerts from source to destination
            $alert = $TargetWeb.Alerts.Add()
            $alert.Title = $SourceAlert.Title
            $alert.AlertType = [Microsoft.SharePoint.SPAlertType]::List
            $alert.User = $SourceAlert.user 
            $alert.List = $TargetList
            $alert.DeliveryChannels = $SourceAlert.DeliveryChannels
            $alert.EventType =  $SourceAlert.EventType
            $alert.AlertFrequency = $SourceAlert.AlertFrequency
            $alert.Update()

            Write-Host "Copied Alert: $($SourceAlert.Title)" -foregroundcolor Green
        }
    }

}

#Variables
$SourceWebURL="https://intranet.crescent.com/PMO"
$SourceListName="Project Documents"
$TargetWebURL="https://intranet.crescent.com/sites/projects/BI/"
$TargetListName="Project Documents"

#Call the function to Copy Alerts
Copy-SPAlerts $SourceWebURL $SourceListName $TargetWebURL $TargetListName

โปรดจำไว้ว่า เมื่อคุณคัดลอกการแจ้งเตือนจากรายการหนึ่งไปยังอีกรายการหนึ่ง ระบบจะทริกเกอร์อีเมล "สร้างการแจ้งเตือนใหม่" เป็น:

คุณสามารถปิดการใช้งานการแจ้งเตือนในขณะนั้นก่อนที่จะคัดลอก: วิธีปิดการใช้งานการแจ้งเตือนในรายการ SharePoint หรือไลบรารี

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