TerminalServer Profil Path和C#.NET3.5

时间:2015-07-21 09:06:37

标签: c# active-directory windows-server-2008-r2 asp.net-4.5 terminal-server

我正在编写一个软件,可以让我在 Windows Server 2008 R2

上的 ACTIVE DIRECTORY 中添加用户并进行修改

我用过

using System.DirectoryServices.AccountManagement;

[DirectoryRdnPrefix("CN")]
[DirectoryObjectClass("Person")]
public class UserPrincipalEx : UserPrincipal
{
    // Implement the constructor using the base class constructor. 
public UserPrincipalEx(PrincipalContext context)
    : base(context)
{ }

// Implement the constructor with initialization parameters.    
public UserPrincipalEx(PrincipalContext context,
                     string samAccountName,
                     string password,
                     bool enabled)
    : base(context, samAccountName, password, enabled)
{ }

// Create the "TermSrvProfilePath" property.    
[DirectoryProperty("msTSProfilePath")]
public string TermSrvProfilePath
{
    get
    {
        if (ExtensionGet("msTSProfilePath").Length != 1)

            return "vide";

        return (string)ExtensionGet("msTSProfilePath")[0];
    }
    set { ExtensionSet("msTSProfilePath", value); }
}


public static new UserPrincipalEx FindByIdentity(PrincipalContext context,
                                              string identityValue)
{
    return (UserPrincipalEx)FindByIdentityWithType(context,
                                                 typeof(UserPrincipalEx),
                                                 identityValue);
}

[DirectoryProperty("wWWHomePage")]
public string wWWHomePage
{
    get
    {
        if (ExtensionGet("wWWHomePage").Length != 1)
            return null;

        return (string)ExtensionGet("wWWHomePage")[0];

    }
    set { this.ExtensionSet("wWWHomePage", value); }
}

}

那么,结果是什么?

我成功阅读了 wWWHomePage 属性,但当我尝试获取时它是空的: TermSrvProfilePath ....

我不明白,我完全迷失了!

1 个答案:

答案 0 :(得分:0)

未使用msTS...属性。您要查找的信息存储在userProperties BLOB。

有关更多信息,请参阅此文章:

http://webactivedirectory.com/active-directory/active-directory-attributes-for-remote-desktop-services/