Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > NetUserSetInfo в Windows Server 2008 R2


Автор: Dale 3.12.2009, 19:16
Я использую функцию NetUserSetInfo в веб-приложении (ASP. Net 3.5, C #). Она работает в Windows Server 2003, но не в Windows Server 2008 R2 (результат - ERROR_ACCESS_DENIED). Вот мой код:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
struct USER_INFO_1003
{
public string usri1003_password;
}

[DllImport("Netapi32.dll")]
private extern static int NetUserSetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername, [MarshalAs(UnmanagedType.LPWStr)] string username, int level, ref USER_INFO_1003 buf, out int error);

public static bool ChangePassword(string userName, string newPassword)
{
int errorCode = 0;
string serverName = null;
USER_INFO_1003 amUser = new USER_INFO_1003();
amUser.usri1003_password = newPassword;
int res = NetUserSetInfo(serverName, userName, 1003, ref amUser, out errorCode);
return (res == 0);
}

Пользователь, запустившый этот код авторизирован (с NTLM) в качестве администратора Windows. Та же проблема с другими основными функциями ОС. В чем проблема?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)