早上好,使用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 Store应用程序项目中无法使用所有必需的名称空间。
如果我们尝试导入一些dll,则错误是:
“无法添加对”[Dll路径]“的引用。该项目的目标是”.Net Core“,而文件的目标是”.NetFramework“。这不是一个支持的场景”
有没有可能的解决方案?
答案 0 :(得分:2)
这是不可能的,也不应该。 Windows应用商店应用程序无权创建用户,因为这将是一个巨大的安全风险!你为什么要尝试这样做?