プリンタポートをWIN32オブジェクト以外で追加するには?


プリンター@@  2004-06-24 17:56:08  No: 84189  IP: [192.*.*.*]

現在、ADMIN権限の無いユーザーがプリンタを任意に追加変更できるVBEXEを作成しています。その過程でプリンタポートの追加を行っているのですが
現在の方法は
Set objWMIService = GetObject("winmgmts:")
Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = Port_Name
objNewPort.Protocol = Port_Protocol
objNewPort.HostAddress = Port_HostAddress
objNewPort.PortNumber = Port_PortNumber
objNewPort.Queue = Port_Queue
objNewPort.ByteCount = Port_ByteCount
objNewPort.SNMPEnabled = Port_SNMPEnabled
objNewPort.SNMPCommunity = Port_SNMPCommunity
objNewPort.SNMPDevIndex = Port_SNMPDevIndex
objNewPort.Put_
です。
これ以外に方法はあるでしょうか?何故かといいますと、どうしてもADMIN権限を付加することができません。
VB開発経験が少ない初心者ですが、助けてください。よろしくお願いいたします。

編集 削除
岡田 之仁  2004-06-26 19:24:53  No: 84190  IP: [192.*.*.*]

プリンターを含むデバイスの操作には、セキュリティーの都合
でAdministrator権限が必要です。

よって、どうしても・・・と言うことであれば、結果、NT
サービスとかの方法と同様に偽造を行なう必要があるのでは
と考えます。

ただし、デバイスを操作するのですから、正直にログイン名
は、Administratorで行なった方が安全だと思いますが・・・
私は、ユーザーログインで行うようなプログタムは作成した
ことが無いので、これ以上はなんとも・・・

ご検討下さい。

編集 削除