Pregunta

He escribió un script gestor de usuarios de los usos NTLMSetUserInfo a establecer contraseñas de algunos usuarios, incluyendo ADMIN ... lo que he notado es que aunque si lo hago de la combinación de nombre de usuario / contraseña funciona perfectamente para todos los escenarios como Telnet, HTTP de autenticación, etc, pero NO de navegación de archivos.

Tras una inspección más me di cuenta de que al establecer la contraseña de administrador a través de la incorporada en las páginas web de configuración CE funciona.

El registro para las miradas de administración al igual que cuando uso NTLMSetUserInfo

NT = [hex value]

El registro de administración contiene un campo adicional, Password cuando me puse la contraseña de administrador a través de las páginas web de la CE.

NT = [hex value]
Password = [hex value]

I figura NTLMSetUserInfo no se ha establecido la contraseña de administrador CE mundial adecuadamente, por lo tanto, no ser capaz de navegar por el archivo en la caja.

He encontrado la siguiente función en el código CE web de análisis DLL que hace el trabajo llamado SetPassword . Escribí una función separada para tratar los casos de administración, pero no puedo conseguir que se compile. Aquí hay un fragmento de la misma

#include <windbase.h>

bool UserAccounts::SetAdminPassword(const std::string &passwordOld, const std::string &password)
{
    wchar_t wpass[512];
    wchar_t wpassold[512];

    mbstowcs(wpass, password.c_str(), 512);
    mbstowcs(wpassold, passwordOld.c_str(), 512);

    return SetPassword(wpassold, wpass) == TRUE;
}

Esto no se compilará indicando que 'SetPassword': identifier not found. Me he dado cuenta en el href="http://msdn.microsoft.com/en-us/library/aa915490.aspx" rel="nofollow noreferrer"> documentación SetPassword que tiene la siguiente línea

  

Para utilizar esta función, debe incluir   el componente de la contraseña, Fspass, en   Cesysgen.bat su archivo.

No estoy seguro de lo que esto significa que yo soy bastante nuevo en PlatformBuilder etc ...

¿Alguien puede ayudar o me punto en la dirección correcta?

¿Fue útil?

Solución

añadir lo siguiente a la parte superior del archivo de código:

extern "C" BOOL SetPassword(LPWSTR lpszOldPassword, LPWSTR lpszNewPassword);

El enlazador se encargará del resto.

Otros consejos

No se puede dar una respuesta exacta en este momento (nunca usó esta autenticación). Sin embargo, sólo trató de usar (en realidad compilar) SetPassword en una versión clonada del conductor del bluetooth AudioGateway que tengo y que compila sin problemas.

Cuando traté de usarlo en un subproyecto o un proyecto regular independiente que tenía el mismo error que tienes. Por lo que una solución rápida podría ser la de hacer esto en un conductor y ver si funciona.

En cuanto al comentario de los documentos que supongo que va a tener el SYSGEN_FSPASSWORD seleccionada en el catálogo, aunque no me remonto esto todavía. Creo que se ha seleccionado esta si se puede establecer contraseñas y tal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top