2008-08-18 12 views
5

Estamos utilizando asp clásico para llamar a un dll C# y en el dll C# estamos utilizando System.Drawing.Printing.PrinterSettings.InstalledPrinters para obtener una lista de impresoras disponibles. Si las impresoras no se comparten, no se mostrarán cuando el usuario intente imprimir. La cuenta del sistema local puede ver e imprimir desde un dll VB6 y los administradores pueden imprimir bien desde el dll C# como es de esperar. ¿Hay alguna clase de permisos que debemos otorgar al usuario para que estas impresoras estén disponibles?Impresoras no disponibles a menos que se comparta

+0

No estoy seguro de qué quiere decir exactamente. Quizás el administrador puede hacer eso porque él mismo está conectado, o porque las impresoras que un usuario en particular puede ver se almacenan como entradas en el registro. –

Respuesta

4

Como recuerdo, la ejecución de un sitio web utiliza la cuenta de usuario de red, que puede no tener permiso para ver las impresoras locales.

Hubo una página en MSDN que decía cómo puede suplantar a otro usuario que podría tener acceso a las impresoras, pero no he podido encontrarlo.

Editar: Publique demasiado pronto. Here's the page.

HTH

+0

Estoy bastante seguro de que se está ejecutando con las credenciales del usuario. En el Analizador de SQL mis consultas están usando las credenciales del usuario. Conceder acceso a la impresora al Servicio de Red no resuelve el problema. – Ryan

3

estoy bastante seguro de que hacerse pasar por un usuario o utilizando sus credenciales no constituye la capacidad de ver las impresoras para ese usuario. Creo que explorer.exe reconecta todos los recursos de red (recursos compartidos/impresoras) al iniciar sesión.

+0

Si solo se conecta cuando se ejecuta explorer.exe, ¿por qué los administradores podrían acceder a las impresoras cuando no hay usuarios conectados? – Ryan

Cuestiones relacionadas