0

早上好,我们正在尝试使用 C# 在 Windows 商店应用程序上创建一个新的 Windows 8 / 8.1 用户。但是下面使用的代码不起作用,因为命名空间“System.DirectoryServices.AccountManagement”不可用。

public UserPrincipal CreateNewUser(string a_userName, string sPassword)
{
    if (!UserExists(a_userName))
    {
        PrincipalContext oPrincipalContext = GetPrincipalContext();

        UserPrincipal oUserPrincipal = new UserPrincipal(oPrincipalContext);
        oUserPrincipal.Name = a_userName;
        oUserPrincipal.SetPassword(sPassword);
        //User Log on Name
        oUserPrincipal.UserPrincipalName = a_userName;
        oUserPrincipal.Save();

        return oUserPrincipal;
    }

    // if it already exists, return null        
    return null;
}

private PrincipalContext GetPrincipalContext()
{
    PrincipalContext oPrincipalContext = new PrincipalContext(ContextType.Machine);
    return oPrincipalContext;
}

private bool UserExists(string a_userName)
{
    using (var pc = new PrincipalContext(ContextType.Machine))
    {
        using (var p = Principal.FindByIdentity(pc, IdentityType.SamAccountName, a_userName))
        {
            return p != null;
        }
    }
}

我们不知道如何找到创建 Windows 用户的方法(有无密码都无所谓),因为 Windows 应用商店应用程序项目中没有所有必需的命名空间。

如果我们尝试导入一些 dll 错误是:

“无法添加对“[Dll 路径]”的引用。项目以“.Net Core”为目标,而文件以“.NetFramework”为目标。这不是受支持的场景”

有没有可能的解决方案?

4

1 回答 1

2

这是不可能的,也不应该是这样。Windows 应用商店应用无权创建用户,因为这将带来巨大的安全风险!你为什么还要这样做?

于 2014-12-04T10:54:56.563 回答