Partilhar via


在 SharePoint 2013 中將傳統驗證內容資料庫轉換為宣告驗證

英文原文已於 2012 年 7 月 24 日星期二發佈

在先前的 SharePoint 2010 部落格文章中,我提到了如何執行宣告移轉 - https://blogs.technet.com/b/speschka/archive/2010/07/20/migrating-from-windows-classic-auth-to-windows-claims-auth-in-sharepoint-2010-part-2.aspx (可能為英文網頁) 和其他事項。在 SharePoint 2013 中我們會有新的 Cmdlet 來執行 Convert-SPWebApplication,我可能之後會再介紹。正如字面所示,Cmdlet 的作用範圍為 Web 應用程式。當然,我們相信在您附加內容資料庫來建立新的 SharePoint 2013 伺服器陣列時,會想要以「更輕鬆」的方法來移轉仍使用 Windows 傳統驗證的資料庫。在本範例中,我將假設您在 SharePoint 2013 中已有執行中的 Windows 宣告 Web 應用程式並已使用 Mount-SPContentDatabase Cmdlet 來附加 SharePoint 2010 內容資料庫。所以,假設您在建立 SPWebApplication 時有 1 個內容資料庫並且才剛新增第 2 個 Windows 傳統模式的資料庫,在這裡要告訴您如何只轉換該內容資料庫以使用 Windows 宣告。請注意 - 非常重要 - 您必須使用「 $arguments」作為引數參數。我不是世界上最會使用 PowerShell 的人 (連邊都沾不上),所以我在這過程中不斷地摔的頭破血流只因為我把我的參數稱為 "$args", 在遍體鱗傷的一個小時之後,我終於發現如果我把參數稱為 $arguments,一切問題都解決了。我確定在某處某些人就是會告訴我這是我的錯。 :-)

$wa = Get-SPWebApplication https://yourWebAppUrl
$acc = 'domain\user'
$arguments = New-Object Microsoft.SharePoint.Administration.SPWebApplication+SPMigrateUserParameters

#根據上述的範例,內容資料庫 0 是以 Web 應用程式建立的,因此 1 是以 Mount-SPContentDatabase 所新增的資料庫

$arguments.AddDatabaseToMigrate($wa.ContentDatabases[1])
$wa.MigrateUsersToClaims($acc, $true, $arguments)

在完成執行之後,您應該可以高枕無憂。我在內容資料庫上利用部分的使用者以及 SharePoint 群組和專屬權限的組合進行測試而全部都能成功地執行。還有順帶一提,是的,SPWebApplication 和 SPMigrateuserParameters 之間的符號真的是加號。

這是翻譯後的部落格文章。英文原文請參閱 Converting A Classic Auth Content Database to Claims Auth in SharePoint 2013