0

Доброе утро. Используя C#, мы пытаемся создать нового пользователя Windows 8/8.1 в приложении для хранения Windows. Но используемый ниже код не работает, потому что пространство имен «System.DirectoryServices.AccountManagement» недоступно.Создание нового пользователя Windows 8/8.1 с приложением Windows Store

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.

Если попытаться импортировать некоторые DLL ошибки является:

«Ссылка на„[Dll путь]“не могут быть добавлены проектные цели„.Net Ядро“, а„.NetFramework“файл целей. . Это не поддерживаемый sceneraio "

Есть ли возможное решение?

ответ

2

Это невозможно, и не должно быть. Приложения Windows Store не имеют прав на создание пользователей, потому что это будет огромный огромный риск для безопасности! Почему вы даже пытаетесь это сделать?

+0

Исправить. AccountManagement - это API с полным доверием, который недоступен для хранения приложений. Существует несколько таких API, которые предназначены для самой ОС, входящих (привилегированных) приложений, таких как настройки Store/PC и настольных приложений. –

Смежные вопросы