none
SetAccountInformation RRS feed

  • Pregunta

  •  

    Estoy utilizando el objeto IPersistFile para poder crear un tarea, solo que he encontrado en msdn que antes debo de setear la cuenta de usuario, utilizaando la funcion IScheduledWorkItem::SetAccountInformation lo interesante es de que si el usuario es un administrador y no tiene password al momento de usar el metodo IPersistFile::Save este em devuelve un error "E_ACCESSDENIED"

     

    alguien me podria aclarar esta situacion..

    gracias

     

    viernes, 19 de marzo de 2010 20:14

Todas las respuestas

  • Cuando una cuenta de administrador no tiene clave sólo puedes cambiar cosas desde ella misma, no desde fuera.

    Es una medida de seguridad básica que ha implementado windows desde el SP2 de Windows XP. El equivante sería entrar a un recurso de red con una cuenta de administrador sin clave. Eso no se puede hacer porque si no entonces el ordenador queda completamente abierto a que cualquiera pueda entrar al ordenador.

    Parafraseando el tema, Windows protege a los imbécil@s (no me malinterpretes, pero tener un ordenador con una cuenta de administrador sin clave de acceso es de eso, sobre todo si ese ordenador se conecta a internet desde esa propia cuenta).


    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    domingo, 21 de marzo de 2010 12:17
    Moderador
  •  

    Ok, hay algo que no me queda claro aun..  entiendo lo de proteger a la gente que no tiene clave de acceso a su ordenador siendo administradores, lo que no aun no me queda claro es de que por ejemplo si una aplicacion se esta ejecutando desde una "cuenta administrador" y esta aplicacion  utiliza IPertsisFile para poder crear una tarea, entiendo yo que como esta desde un administrador ejecutandose la aplicacion no habria ningun problema en utilizar ese objeto "IPertsisFile". Aunque si tu me estas diciendo que esto es una seguridad de SP2 de XP me surge una interrogante si yo seteo IScheduledWorkedItem::SetAccpuntInformation con una "L" para que tome el user actula y NULL como pwd el obejto IPertsisFile se eejcuta sin ningun porblema... esto no seria una contradiccion...??

    Gracias..

    lunes, 22 de marzo de 2010 14:59
  • Creo que no porque entonces el sistema garantiza que estás en local. De todos modos yo no soy ningún experto en temas de cuentas de usuario y demás, quizás si preguntas en los grupos de Windows Cliente alguien sepa darte mejores razones.

    No me refiero a que preguntes sobre el IPersistFile, sino al tema de lo de la clave desde un script/programa.


    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    lunes, 22 de marzo de 2010 15:52
    Moderador
  •  

    Mmmm... entonces vayamos a un ejemplo practico,  si una aplicacion corre bajo la cuenta de un Administrador el cual por X razones no tenga pwd la unica manera de que el que el IPersistFile funcione de maravilla es setear el SetAccountInformation con los parametros "L" y "NULL"...? es decir yo no podre hacer el seteo con los parametros "userAccount"  y "" (cadena vacia ya que el admisnitrador no tiene pwd) para que IPersistFile funcione tambein ..?

    Gracias..

    lunes, 22 de marzo de 2010 17:38
  • Yo creo que sí, porque entonces es en local y no como runas...

    Para serte sincero yo eso solo lo he probado en un aplicativo .NET que se programaba a sí mismo en el programador de tareas mediante una biblioteca .NET que hacía de envoltorio sobre el tema, y tuve esos problemas de login cuando no hay clave y al final lo dejé sin resolver.


    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    martes, 23 de marzo de 2010 14:44
    Moderador