2008-08-18 9 views
5

古典的なaspを使用してC#dllを呼び出し、C#dllでSystem.Drawing.Printing.PrinterSettings.InstalledPrintersを使用して使用可能なプリンタのリストを取得しています。プリンタが共有されていない場合、ユーザーが印刷しようとすると表示されません。ローカルシステムアカウントは、VB6 dllからそれらを参照して印刷することができ、管理者はC#dllから正常に印刷できます。これらのプリンタを利用できるようにユーザに許可する必要のある許可がありますか?プリンタは共有されていないと使用できません

+0

正確に何を意味するのかわかりません。おそらく、管理者は自分自身がログインしているため、または特定のユーザーが見ることができるプリンターがレジストリにエントリとして保存されているため、これを行うことができます。 –

答えて

4

ウェブサイトを実行すると、ローカルプリンタを表示する権限を持たないネットワークユーザーアカウントが使用されることに注意してください。

MSDNには、プリンタにアクセスする可能性のある別のユーザーを偽装する方法がありましたが、見つけられませんでした。

編集:私はあまりにも早く投稿しました。 Here's the page

HTH

+0

私はそれがユーザーの資格情報で動作していることを確信しています。 SQLプロファイラでは、クエリでユーザーの資格情報が使用されています。ネットワークサービスアカウントにプリンタへのアクセスを許可しても、問題は解決しません。 – Ryan

3

私は、ユーザーを偽装したり、資格情報を使用すると、そのユーザーのためのプリンタを表示する機能を構成しないことをかなり確信しています。私はexplorer.exeがログオン時にすべてのネットワークリソース(共有/プリンタ)を再接続すると信じています。

+0

explorer.exeが実行されているときにのみ接続すると、管理者はユーザーがログインしていないときにプリンタにアクセスできますか? – Ryan

関連する問題