2009-11-04 35 views
1

在Sharepoint的「我的網站」功能中,有一個「會員」Web部件,顯示用戶所屬的分發列表。從Sharepoint成員名單中隱藏分發列表

這是挑選了幾組我們寧可不顯示的組,有些僅僅是爲了管理目的而設置的。

有什麼辦法可以控制顯示哪些組;理想情況下,這將使用另一個AD組,並設置僅顯示此組的成員。

+0

這不屬於http://serverfault.com/? – Lukman 2009-11-20 17:02:36

+0

否。尋找編程相關的解決方案,因爲無法在配置中更改它。 – wefwfwefwe 2009-11-21 15:16:48

+0

* [插入必要的Sharepoint笑話] * – 2009-11-25 04:01:45

回答

0

我假設您的「會員資格」Web部件在內部使用SharePoint人員選取器功能。

如果是這樣的話,那麼下面的STSADM命令有助於你的範圍查找AD你想要的方式:

            STSADM -o OU的setsiteuseraccountdirectorypath -path <名稱> - url < URL名稱>

+0

不,這是爲人民選擇器的查找工作正常。我們爲了內部目的設置了幾個隱藏的郵件羣組,例如[email protected],我們希望該組從成員列表中隱藏。 – wefwfwefwe 2009-11-24 09:15:19

0

您可以嘗試編輯Exchange高級選項卡上的分發列表,選中「從Exchange地址列表中隱藏分組」複選框。

我沒有測試過這個,但理論上它會阻止分佈列表出現在組列表中。

+0

它不起作用。 – wefwfwefwe 2009-11-24 12:28:40

0

簡單修正:將JavaScript添加到顯示目標的頁面,然後通過應用CSS樣式隱藏特定項目。

+0

不是特別容易,作爲長期解決方案不可行 – wefwfwefwe 2009-11-24 15:44:13

0

我沒有一個確切的答案,但這裏是我如何解決這個問題。也許你已經回答了其中的一些問題,但可能有助於再次通過它們。我會按以下順序查看問題:

  • Active Directory中是否存在一個用於隱藏SharePoint組的選項? (聽起來像是否)
  • 在SharePoint管理中是否有一個選項(通過stsadm或實際管理站點)從SharePoint中排除AD中的某些用戶或組?
  • 有沒有辦法將Web部件配置爲從Web部件本身排除某些用戶或組?
  • Web部件的源代碼是否可用,以便您可以編譯Web部件以排除列表中的某些組?
  • 你可以使用JavaScript(如Josh提到)與webpart一起從webpart中隱藏分發列表嗎? (這是一個以how to use JavaScript to Hide SharePoint's Quick-Launch bar爲例的網站,也許這會有所幫助)。

這些問題是從最廣泛的範圍和最容易實現的最窄範圍,是更難實施。很明顯,你想要實現一個最容易實現的解決方案,但是也許你會發現自己在列表中更靠後。

在最後兩個示例中,解決方案可能看起來相當複雜,但您可能能夠編寫引用要排除的站點的XML文件的代碼。這樣,如果您的通訊組列表發生更改,您只需編輯XML文件並且不編輯javascript或webpart的源代碼。

如果沒有簡單的解決方案,您必須做出令人痛苦的選擇:1)讓問題保持不變或2)實施黑客攻擊,爲您的解決方案增添依賴性。

1

我相當確信,如果沒有部署自定義Web部件而不是官方部件,這是不可能的。 Exchange解決方案不起作用的原因是因爲它的方式不正確(從組到成員而不是成員到組)。

要部署它,您可以查看功能裝訂...您還需要更新現有網站。

這不是一個簡單的答案。我不相信有一個簡單的答案。

0

我認爲未啓用安全性的通訊組不會顯示在SharePoint中。您是否檢查過AD以查看這些組是否已啓用安全性?這可能只是出於權限的目的,所以我可能是錯的。

在看到任何更改之前,您可能需要執行配置文件導入。

+0

會員資格的Web部分將顯示安全啓用和普通的通訊組列表,因此這將不起作用。 – 2009-11-25 11:37:48

2

最好的解決方案是爲Active Directory中的通訊組列表設置拒絕訪問權限;請按照下列步驟操作:

1)打開Active Directory用戶&計算機作爲一個管理員(能夠訪問創建組的任何用戶,並修改通訊組列表的安全設置)。

2)轉到查看菜單,並確保高級功能旁邊有一個複選框。 在Active Directory中創建一個新的安全組(將其稱爲HideFromSharePoint或其他),並將SharePoint Content Access帳戶(在我的案例中爲DOMAIN\sa_spcontent)添加到該組(必須與步驟4中使用的帳戶相匹配)。

3)對於所有的通訊組列表,你不希望在SharePoint露面做到以下幾點:

3A)打開通訊組列表,然後選擇安全選項卡(高級功能必須的檢查此選項卡以顯示)。

3b)單擊添加並輸入在步驟3(HideFromSharePoint)中創建的安全組的名稱;單擊檢查名稱,然後單擊確定。

3c)根據權限HideFromSharePoint;選中「讀取」旁邊的「拒絕」框(默認設置爲「允許」),然後在提示處再次單擊「確定」並確定。

您剛剛拒絕HideFromSharePoint組的任何成員讀取通訊組列表。

4)轉到SharePoint管理中心; SharedServices1;用戶配置文件和屬性;配置配置文件導入並在指定帳戶下輸入您在步驟3中添加到HideFromSharePoint-組的帳戶的憑據。(出於某種原因,如果將其保留爲使用默認內容訪問帳戶,SharePoint將使用其他某個帳戶訪問Active Directory從而被允許訪問分發列表。您可以嘗試將其他SharePoint服務帳戶添加到HideFromSharePoint組,但我認爲明確指定一個帳戶以便知道哪個帳戶正在訪問AD並導入數據更安全。)還要確保Active Directory的「導入連接」設置爲「使用默認帳戶」(從而「繼承」用於配置文件導入的帳戶)。

5)轉到SharePoint管理中心; SharedServices1;用戶配置文件和屬性,然後點擊開始完整導入。 (您不能執行增量導入,因爲用戶在組成員身份方面沒有任何變化;只是訪問權限已更改。)完成導入後(單擊刷新直到「導入時間:」表示「已啓動完全導入於2009年11月25日##:## AM - 在11/25/2009 ##:## AM結束導入「)

分配列表現在不應再顯示在會員資格下。

幾件事情需要注意:

  • 必須設置拒絕訪問權限明確並單獨對所有您不希望顯示在SharePoint了通訊組列表。這是因爲特殊AD組「Authenticated Users」默認讀取了目錄中的每個對象的訪問權限,並在組織單位級別顯式允許訪問權限設置了拒絕訪問權限(例如)。
  • 儘管您可以跳過設置HideFromSharePoint組的步驟,併爲SharePoint Content Access帳戶設置拒絕訪問權限目錄,但Active Directory管理最佳做法是在配置安全權限時使用組。 (然後,您可以向該組添加其他成員,並且也拒絕讀取訪問權限。)
  • 您可能需要等待一段時間(5分鐘左右),然後再將更改的拒絕訪問權限設置爲複製到所有你的域控制器。否則,導入可能會從Deny尚未生效的域控制器讀取。
  • 請小心添加任何其他帳戶到HideFromSharePoint-組,因爲這可能會破壞您的通訊組列表。例如;如果Exchange無法讀取羣組郵件將無法工作。只要您只是添加SharePoint內容訪問帳戶,您就安全了。
  • 此外(與SharePoint或上述解決方案無關)請注意,您域中的任何用戶都可以啓動ADUC或LDAP工具,並以這種方式查看通訊組列表的成員。如果您有任何「絕密」,您需要進一步嘗試在Active Directory中設置訪問控制。
+0

像魅力一樣工作 - 在ou上設置拒絕權限,所以我不必爲所有100個以上的組執行此操作。非常感謝! – wefwfwefwe 2009-11-27 15:48:25

0

您可以完全關閉分配列表,這是我們在我的公司所做的。這是通過轉到SSP中的配置文件服務策略並禁用分發列表功能來完成的。

現在,如果您想挑選並選擇分發清單,並不那麼簡單,但希望這可以幫助某人。