現在、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開発経験が少ない初心者ですが、助けてください。よろしくお願いいたします。
プリンターを含むデバイスの操作には、セキュリティーの都合
でAdministrator権限が必要です。
よって、どうしても・・・と言うことであれば、結果、NT
サービスとかの方法と同様に偽造を行なう必要があるのでは
と考えます。
ただし、デバイスを操作するのですから、正直にログイン名
は、Administratorで行なった方が安全だと思いますが・・・
私は、ユーザーログインで行うようなプログタムは作成した
ことが無いので、これ以上はなんとも・・・
ご検討下さい。