No se puede iniciar el servicio de Windows en la cuenta de NetworkService

Tengo una implementación de proyecto de servicio de Windows que bash instalar como servicio de red.

process = new ServiceProcessInstaller(); process.Account = ServiceAccount.NetworkService; 

Sin embargo, cada vez que bash iniciar el servicio recibo:

 System error 5 has occurred. Access is denied. 

Esto ocurre después de ejecutar el comando net start MyService en el net start MyService comandos de visual studio que se ejecuta como administrador, por cierto.

¿Alguna ayuda sobre cómo hacer que esto funcione? Gracias.

Me gustaría comprobar que la cuenta de servicio de red tiene permisos para ejecutar. Pasos para verificar:

  1. En el explorador de Windows vaya a la carpeta que contiene los binarios del servicio
  2. Haga clic con el botón derecho en la carpeta> Propiedades> pestaña Seguridad> botón Editar
  3. Añadir> “SERVICIO DE RED”> OK
  4. Déle el control total (solo para probar y luego reducir los permisos hasta que funcione)

captura de pantalla

Es probable que su Net Start MyService se esté ejecutando con privilegios escalados. Su comando requiere (creo) privilegios administrativos.

Actualizar

No estoy seguro de por qué, pero tus privilegios en tu servicio son extraños. Por defecto, los privilegios de los servicios deberían verse como:

 D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) ACE Type: ACCESS_ALLOWED_ACE_TYPE Trustee: NT AUTHORITY\SYSTEM AccessMask: ADS_RIGHT_DELETE ADS_RIGHT_READ_CONTROL ADS_RIGHT_WRITE_DAC ADS_RIGHT_WRITE_OWNER ADS_RIGHT_DS_CREATE_CHILD ADS_RIGHT_DS_DELETE_CHILD ADS_RIGHT_ACTRL_DS_LIST ADS_RIGHT_DS_SELF ADS_RIGHT_DS_READ_PROP ADS_RIGHT_DS_WRITE_PROP ADS_RIGHT_DS_DELETE_TREE ADS_RIGHT_DS_LIST_OBJECT ADS_RIGHT_DS_CONTROL_ACCESS 

Sin embargo, su se ve como:

 D:(A;;CCLCSWRPWPDTLOCRRC;;;SY) ACE Type: ACCESS_ALLOWED_ACE_TYPE Trustee: NT AUTHORITY\SYSTEM AccessMask: ADS_RIGHT_READ_CONTROL ADS_RIGHT_DS_CREATE_CHILD ADS_RIGHT_ACTRL_DS_LIST ADS_RIGHT_DS_SELF ADS_RIGHT_DS_READ_PROP ADS_RIGHT_DS_WRITE_PROP ADS_RIGHT_DS_DELETE_TREE ADS_RIGHT_DS_LIST_OBJECT ADS_RIGHT_DS_CONTROL_ACCESS 

No estoy seguro exactamente de cómo llegó a ser eso. Intenta desinstalar y reinstalar?

Puede descargar SddlParse (google it 🙂 para analizar el lenguaje de definición del descriptor de seguridad .

El mensaje “Acceso denegado” se aplica al usuario que intenta iniciar el servicio, no a la cuenta en la que se ejecuta el servicio.

¿Se puede iniciar el servicio desde:

  1. ¿El applet del Panel de Control de Servicios?
  2. ¿Un indicador de comando elevado que usted mismo inició (no desde Visual Studio)?