SharePoint:如何批量簽入(Check in)文檔?

自從中國國家標準委員會就知識管理模型定位之後,很多企業早些年啓用了“傳統的知識管理”的模式管理企業結構化和非結構化文檔,但在現階段,很多企業應其本身的快速發展以及應用趨勢的需要,逐漸尋求和關注顯性知識的“傳統的知識管理”平臺步入關注“知識共享”和“社交學習並重”轉變的解決方案。

通過企業內部的各項評估和調研,多數企業都選擇SharePoint 平臺作爲企業內外部社交、協同辦公、知識文檔管理系統平臺。

但部分企業IT管理員部署完SharePoint平臺後,由各個部門管理員進行知識等信息數據架構設置時,往往會遇到一個場景:

用戶需求場景:

部門管理員爲了應終端用戶的需求:多人協作編輯文檔需個人編輯完成之後,其他人可見再次編輯,管理員爲實現需求在若干文檔庫啓用“簽入和簽出”功能,比如SoW 文檔庫,項目Proposal文檔庫等需要多人協作的文檔庫。

存在隱患:

但滿足用戶需求的情況下,往往管理員會忽略了將原始的“傳統的知識管理系統”,比如File Server或者FTP Server中的結構化和非結構化文檔批量導入SharePoint特定的文檔庫的情況,未在導入文檔前關閉“簽入和簽出”功能,導致文檔批量導入後全部是簽出狀態,意味着其他終端用戶無法訪問這些簽出的文檔,若把文檔改成簽入狀態,單個文檔進行修改,勢必增加管理員的工作量,那麼如何能實現批量簽入的需求呢?

解決方案:

多個企業用戶管理員曾諮詢過我這類問題,這裏分享下解決方案: 用PowerShell的cmdlet對文檔進行批量簽入。(本文適用於SharePoint Server 2013,2016,2019)

具體步驟如下:

$WebURL="http://cpshelley:9001/sites/Project_Shelley"
$LibraryName="shelley"

SharePoint:如何批量簽入(Check in)文檔?

$Web = Get-SPWeb $WebURL
$CheckedOu$DocLib = $Web.Lists.TryGetList($LibraryName)

SharePoint:如何批量簽入(Check in)文檔?

$CheckedOutFiles = $DocLib.Items | Where-Object { $_.File.CheckOutStatus -ne "None"}

SharePoint:如何批量簽入(Check in)文檔?

ForEach($item in $CheckedOutFiles) { $DocLib.GetItemById($item.Id).file.CheckIn("Checked in by cp01\administrator") }

SharePoint:如何批量簽入(Check in)文檔?

說明:Checked in by是指用哪個用戶做批量簽入,使用管理員賬戶。

希望本文對大家有幫助,若大家在使用和操作上遇到其他問題,歡迎線下討論和諮詢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章