Chúng tôi đang sử dụng asp cổ điển để gọi C# dll và trong C# dll, chúng tôi đang sử dụng System.Drawing.Printing.PrinterSettings.InstalledPrinters để nhận danh sách các máy in availabe. Nếu các máy in không được chia sẻ, chúng sẽ không hiển thị khi người dùng truy cập để in. Tài khoản Hệ thống Cục bộ có thể xem và in ra chúng từ một dll VB6 và Quản trị viên có thể in tốt từ dll C# như bạn mong đợi. Có một số loại quyền chúng tôi cần để cấp cho người dùng để các máy in này có sẵn không?Máy in không khả dụng trừ khi được chia sẻ
Trả lời
Khi tôi nhớ lại, việc chạy một trang web sử dụng tài khoản Người dùng mạng, có thể không có quyền xem máy in cục bộ.
Có một trang trên MSDN cho biết cách bạn có thể mạo danh người dùng khác có thể có quyền truy cập vào máy in nhưng tôi không thể tìm thấy nó.
Chỉnh sửa: Tôi đã đăng quá sớm. Here's the page.
HTH
Tôi chắc chắn nó đang chạy với thông tin đăng nhập của người dùng. Trong SQL Profiler, truy vấn của tôi đang sử dụng thông tin đăng nhập của người dùng. Cấp quyền truy cập tài khoản Dịch vụ Mạng cho máy in không giải quyết được sự cố. – Ryan
Tôi khá chắc chắn rằng mạo danh người dùng hoặc sử dụng bằng chứng xác thực của họ không cấu thành khả năng xem máy in cho người dùng đó. Tôi tin rằng explorer.exe kết nối lại tất cả các tài nguyên mạng (cổ phiếu/máy in) sau khi đăng nhập.
Nếu nó chỉ kết nối khi explorer.exe chạy thì tại sao quản trị viên có thể truy cập máy in khi không có người dùng nào đăng nhập? – Ryan
Tôi không chắc chính xác bạn muốn nói gì. Có lẽ quản trị viên có thể làm điều đó vì bản thân anh ấy đã đăng nhập hoặc vì máy in mà một người dùng cụ thể có thể xem được lưu trữ dưới dạng mục nhập trong sổ đăng ký. –