本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

在 SharePoint 2013 中清除訂閱存放區的推播通知註冊

SharePoint 2013
 

適用版本:SharePoint Foundation 2013, SharePoint Server 2013

上次修改主題的時間:2016-12-16

摘要:了解如何清除 SharePoint 2013 網站上的推播通知訂閱存放區,以提供空間給更多應用程式和裝置。

SharePoint Server 2013 支援行動裝置上的應用程式從 SharePoint 網站接收推播通知。通知可包含網站上發生的事件,例如使用者將項目新增至清單或更新項目。啟用推播通知功能時,會在網站層級建立訂閱存放區,來儲存向 SharePoint 網站註冊以接收通知之裝置中的資訊。此訂閱存放區會建立為隱藏清單,使用者或管理員無法直接檢視此清單。當裝置應用程式註冊接收 SharePoint 網站上的通知,或取消註冊不再接收通知時,會根據要求在清單中新增或刪除裝置項目。

重要事項 重要事項:
若要啟用網站上的行動裝置註冊,必須啟用推播通知功能。之前,您無法啟動或停用 [網站動作]管理網站功能的網站設定中的推入通知。不過,選項可讓不是可透過管理網站功能在此版本中,必須以程式設計方式啟動。啟用推播通知] 區段下方將詳細資料如何啟用的功能。如需關於 Windows Phone 推入通知開發模型包括範例登錄及取消登錄 API 流量,請參閱SharePoint apps for Windows Phone 的推入通知

使用者可能會透過應用程式註冊接收通知,但稍後不再使用該應用程式或裝置,或者從裝置解除安裝該應用程式。如果不是從應用程式呼叫 unregister API,裝置項目仍會存在於訂閱存放區中。最多可註冊 2,000 部裝置啟用 SharePoint Server 2013 的推播通知。一旦達到此限制,除非從訂閱存放區清除項目,否則將無法再進行註冊。本文提供必要程序,以根據喜好設定清除訂閱存放區中更新超過 30 天的特定裝置項目,或刪除訂閱存放區的整個內容。

本文內容:

在 SharePoint Server 2013 中,必須啟用推播通知功能,才能讓裝置接收以 SharePoint 為基礎的推播通知。您可以使用 SharePoint Server 2013 Cmdlet 或透過用戶端應用程式來啟用此功能。下列步驟提供如何使用 Windows PowerShell Cmdlet 來啟用此功能的指示。

啟用推播通知功能
  1. 確認執行此程序的使用者帳戶具有使用 SharePoint Server 2013 Cmdlet 或指令碼的必要權限。

    重要事項 重要事項:
    若要執行 SharePoint Server 2013 Cmdlet 或指令碼的 Windows PowerShell:
    1. 確認您是否為下列安全性角色或群組的成員:

      • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

      • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

      • 執行 Windows PowerShell Cmdlet 或指令碼之伺服器上的管理員群組。

      • 除了以上基本成員資格之外,新增所需的成員資格。

    2. 系統管理員可以使用Add-SPShellAdmin cmdlet 來授與權限才能使用SharePoint Server 2013 cmdlet 或指令碼。此外,指令碼在SharePoint 2013預設執行原則是設定為 [限制。您必須以執行指令碼調整執行原則設定。如需詳細資訊,請參閱指令碼和執行原則使用 Windows PowerShell 管理 SharePoint 2010 產品

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

  5. 若要啟用推播通知功能,可以在 Windows PowerShell 命令提示字元上,輸入下列程式碼:

    Enable-SPFeature -Identity 41e1d4bf-b1a2-47f7-ab80-d5d6cbba3092 -URL <YOUR SITE URL>
    

    其中 <您的網站 URL> 是您的 SharePoint 網站 URL。

使用下列程序從訂閱存放區移除更新超過 30 天的裝置註冊。這表示在此時間範圍內未使用 register API 連線至執行 SharePoint Server 之電腦的裝置均視為非使用中,且應該標示為待刪除。但是,您也可以根據喜好設定,透過下列指令碼中的 OffsetDays 屬性來調整此 30 天時間限制。

重要事項 重要事項:
此清除程序也會清除可能已在設定的登錄資訊的裝置喜好設定。如需關於 Windows Phone 推入通知開發模型包括範例登錄和取消登錄 API 流量、 查看SharePoint apps for Windows Phone 的推入通知
從訂閱存放區刪除選取註冊
  1. 確認執行此程序的使用者帳戶擁有使用 SharePoint Server 2013 Cmdlet 的必要權限,如<啟用推播通知>一節的步驟 1 所述。

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

  5. 若要刪除更新超過 30 天的選取註冊,請在 Windows PowerShell 命令提示字元處,輸入下列程式碼:

    $web = Get-SPWeb "<YOUR SITE URL>"
    $store = $web.Lists["Push Notification Subscription Store"]
    $spQuery = New-Object Microsoft.SharePoint.SPQuery
    $spQuery.Query = '<Where><Lt><FieldRef Name="Modified" /><Value Type="DateTime"><Today OffsetDays="-30" /></Value></Lt></Where>'
    $oldItems = $store.GetItems($spQuery)
    foreach ($item in $oldItems) { $store.Items.DeleteItemById($item.Id) }
    write-output "Successfully deleted all old subscriptions"
    

    其中 <您的網站 URL> 是您的 SharePoint 網站 URL。

使用下列程序從推撥通知訂閱存放區移除所有註冊或訂閱。

從訂閱存放區刪除所有註冊
  1. 確認執行此程序的使用者帳戶擁有使用 SharePoint Server 2013 Cmdlet 的必要權限,如<啟用推播通知>一節的步驟 1 所述。

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2013 產品]。

  4. 按一下 [SharePoint 2013 管理命令介面]。

  5. 若要刪除所有裝置註冊或訂閱,請在 Windows PowerShell 命令提示字元處,輸入下列程式碼:

    write-output "Delete all push notification subscribers"
    $web = Get-SPWeb "<YOUR SITE URL>"
    $spList = $web.Lists["Push Notification Subscription Store"] 
    write-output "Got the Subscription Store"
    foreach ($item in $spList.items)
    {
        $itemToDelete=$spList.GetItemById($item.ID)
        $ itemToDelete.Delete() 
    }
    write-output "Successfully deleted all subscribers"
    
    

    其中 <您的網站 URL> 是您的 SharePoint 網站 URL。

https://technet.microsoft.com/zh-tw/library/ff393820.aspx
顯示: