2014-01-22 71 views
1

我試圖製作一個腳本來幫助自動完成這個過程,但是對於使用PowerShell和SharePoint來說並不新鮮,並且不知道要採取的路線。使用SharePoint創建庫和權限Powershell

我有一個40項目的清單,我需要爲每一個庫。然後每個庫都需要擁有3個默認組(擁有者,成員,訪問者)的獨特權限。這些團體的名字應與List.Title + Owners/Members/Visitors相同。

到目前爲止,我創建了一個網站用戶組如下:

# Owner Group 
$web.SiteGroups.Add(「$web Owners」, $web.Site.Owner, $web.Site.Owner, 「Use this group to  grant people full control permissions to the $web site」) 
$ownerGroup = $web.SiteGroups["$web Owners"] 
$ownerGroup.AllowMembersEditMembership = $true 
$ownerGroup.Update() 

我羣體的命名需要在列表的標題,而不是因爲我有上面的網站名稱。

我創造這樣一個新庫:

PS > $spWeb = Get-SPWeb -Identity http://SPServer 
PS > $listTemplate = [Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary 
PS > $spWeb.Lists.Add("My Documents","My Doc Library",$listTemplate) 

顯然,這是不是在所有的自動化,沒有比只使用圖形用戶界面,使每一個新的圖書館和網站用戶組增加得更快。任何人都可以幫助我啓動一個腳本,該腳本可以遍歷名稱列表創建一個庫,並在每個新庫的網站上創建3個組?

謝謝!

+0

包含40個列表項目的對象是什麼樣的? – websch01ar

+0

它在一個SQL數據庫以及一個Excel文檔中的列表。 – Braden

回答

1

這應該讓你走上正確的軌道,我相信。

Add-PSSnapin "Microsoft.SharePoint.PowerShell" 
$Lists = @("My Documents", "My Docs", "Testing") 
$Groups = @("Owners", "Members", "Visitors") 
$listTemplate = [Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary 

$Web = Get-SPWeb "Your_URL" 

$Lists | ForEach-Object { 
    $ListName = $_ 
    $Description = "$_ Description" 
    $Web.Lists.Add($ListName, $Description, $listTemplate) 
    $Groups | % { 
     $GroupName = "$ListName $_" 
     $Web.SiteGroups.Add($GroupName, $Web.Site.Owner, $Web.Site.Owner, "Group $GroupName created by automatic process") 
     $group = $Web.SiteGroups["$GroupName"] 
     if (!$GroupName -contains "Visitors") 
     { 
      $group.AllowMembersEditMembership = $true 
     } else 
     { 
      $group.AllowMembersEditMembership = $false 
     } 
     $group.Update() 
    } 
} 
+0

感謝您的回覆,我今天將深入探討! – Braden

+0

如果您有任何疑問,請通知我,祝您好運。請注意,您需要將您的列表/組對象與您從SQL和Excel中獲得的內容進行匹配。這真是說服代碼。 – websch01ar

+0

我使用$ lists = import-csv「文件路徑」來獲取每個庫的名稱列表。這是一個好方法嗎? 我也想知道下面的部分: $ Description =「$ _ Description」 什麼是從$ _描述獲得的變量?是否可以設置一個變量來描述從csv中獲取文本以及描述的描述? – Braden