2013-06-21 83 views
3

我正在創建一個用於管理Active Directory的Web應用程序。我想在某個容器中創建一個組。使用C#創建Active Directory組

var groups = new List<Models.Group>(); 

PrincipalContext ctx = 
new PrincipalContext(ContextType.Domain, domain, container, userName, password); 

GroupPrincipal oGroupPrincipal = new GroupPrincipal(ctx); 
oGroupPrincipal.Description = mGroup.GroupName; 
oGroupPrincipal.GroupScope = mGroup.GroupScope; 
oGroupPrincipal.IsSecurityGroup = mGroup.IsSecurity; 
oGroupPrincipal.Save(); 

,但我得到了以下錯誤:

Cannot implicitly convert type 'string' to System.DirectoryServices.AccountManagement.GroupScope?'

我不知道如何處理這個問題。我應該如何將GroupScope轉換爲對象GroupScope,而它是我列表中的對象字符串?

我也得到了這個錯誤:

​​

回答

1

組範圍是一個enum,其值爲local,global和universal,看起來您沒有投入傳入值。

試試設置爲靜態值:

oGroupPrincipal.GroupScope = System.DirectoryServices.AccountManagement.GroupScope.Local; 

如果清除,則錯誤嘗試解析傳入的字符串:

oGroupPrincipal.GroupScope = (System.DirectoryServices.AccountManagement.GroupScope)Enum.Parse(typeof(System.DirectoryServices.AccountManagement.GroupScope),value); 
+0

試圖做上述mentioned.Cannot當我得到這個錯誤隱式地將類型'object'轉換爲'System.DirectoryServices.AccountManagement.GroupScope?'。存在明確的轉換(你是否缺少演員?) – Gericke

+0

ah enum.parse將返回一個對象,你需要一個演員,我錯過了編輯 –

相關問題