2017-08-30 22 views
1

マシンのデフォルトのプリンタ設定を編集しようとしています。具体的には、私はロック印刷に各印刷の種類を変更しようとしていますし、各個々のユーザにユーザ名とパスワードを割り当てます。デフォルトのプリンタ設定を編集するVBScriptを使用するジョブタイプ

settings to be edited

誰もがPCL6プリンタドライバであるが、私はどのように考えていますVBScriptからこれにアクセスします。ここまで私がこれまで持っていたことがあります。私はできる限り多く注釈をつけていますので、私が残しておけば誰でもそれを理解することができます。すべては正常です:

Option Explicit 

' Tell WSH to resume on errors, otherwise our error handling can't do it's job 
    On Error Resume Next 

' Define variables 
Dim objNetwork, objWMIService, objPrinter 
Dim colInstalledPrinters 
Dim strPrinterServer, strPrinterShare, strUserName, strPassword, strPrinterName 
Dim Return, LocalDefault 
Dim DynamicMessage 
Dim DefaultPrinter 

strPrinterServer = "\\GBDSCWSSC0125" 
strPrinterShare = "GBGBMIL1NPSC000" 
strPassword = "1234" 

msgbox("This tool will set up your default printer with a username and password. When changing default printers, please run this tool again") 
strUserName = CreateObject("WScript.Network").UserName 
DynamicMessage = msgbox("Your username is " & strUserName & vbNewLine & "Is this correct?", vbYesNo) 

If DynamicMessage = vbNo Then 
    strUserName = InputBox("Please enter your username") 
    DynamicMessage = msgbox("Your username is " & strUserName, vbOK) 
End If 

' Get WMIService so we can run WMI queries (windows management instrumentation). Basically a library for controlling windows 
Set objWMIService = GetObject(_ 
    "winmgmts:" & "{impersonationLevel=impersonate}!\\" _ 
    & strComputerName & "\root\cimv2") 

' Run a WMI query to get all the installed printers. This returns a collection so the variable uses the "col" prefix 
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer") 

' The WMI query returns a collection that we need to loop through and check to see if the current printer object is the default printer 
For Each objPrinter in colInstalledPrinters 
    If objPrinter.Default = "True" Then 
     If objPrinter.Name <> "Microsoft Office Document Image Writer" Then 
      LocalDefault = True 
      strPrinterName = objPrinter.Name 
      DynamicMessage = msgbox("Default printer is " & strPrinterName, vbOKOnly) 
     End If 
    End If 
Next 

msgbox("Done!") 

Set objWMIService = Nothing 
Set objNetwork = Nothing 

WScipt.Quit 

これはすべて可能ですか?

あなたは、Microsoft \ Windows NTの\ CurrentVersionの\印刷\プリンター\レジストリキーHKEY_LOCAL_MACHINE \ソフトウェアを設定してみること
+0

どのプリンタを使用していますか?おそらくRICOH? – JoSerra

+0

さて、オフィスの周りにはさまざまなRICOHプリンタがありますが、それらはすべて同じドライバから実行されます。 – JaayB

+0

こんにちは@JaayB Ricohプリンタキューには、このレジストリキーにいくつかのプリンタ設定が保存されています** HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Print¥Printers¥¥PrinterDriverData¥capsdb_scope :: UI_Customize ** 。 [Printer Driver Packager NXソフトウェア](http://support.ricoh.com/html_gen/util/PDP/PDP.html)でカスタマイズした設定ファイルを作成できます printjobのユーザーIDを現在のWindowsのログイン名パスワードの設定方法はわかりません。 – JoSerra

答えて

0

\プリンタ名\のPrinterDriverデータの\ capsdb_scope :: U I_Customizeこの値を持つプリントサーバー上:

<?xml version="1.0" encoding="utf-8"?> 
<rcf version="1.0"> 
    <devicesettings drivername="RICOH MP 402SPF PCL 6" independent="yes"> 
    <item name="userid_type" value="windowsloginname"/> 
    <item name="jobtype" value="lockedprint"/> 
    </devicesettings> 
    <featurelock> 
    <item fixvalue="windowsloginname" name="userid_type"/> 
    <item fixvalue="lockedprint" name="jobtype"/> 
    </featurelock> 
    <popupbeforeprint type="jobtype"> 
    <item defaultstring="default" name="username"/> 
    <item defaultstring="blank" name="password"/> 
    <item defaultstring="default" name="userid"/> 
    </popupbeforeprint> 
</rcf> 
+0

私はHKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Print¥Printers¥HP Universl Printing PCL 6¥PrinterDriverDataまで取得できますが、レジストリ内でcapsdb_scope :: UI ...を見つけることはできません。 私はこのすべてに気付かないでください。私は以前にレジストリを編集しましたが、私は言われたので、常にそれを盲目的に行ってしまいました。私はそれを読み、理解するために時間を取らなければならないかもしれません。 – JaayB

+0

プリントサーバー(GBDSCWSSC0125)のレジストリエントリを確認する必要があります。プリンタドライバ名は何ですか? – JoSerra

+0

私はちょっと乾いていて、レジストリ内のプリンタ設定に入力したユーザー名を検索し、UserID/Usernameフィールドとパスワードフィールドを特定することができました。私はちょうどタイプを変えるものを見つけようとしています。レジストリを変更するためにXMLの周りに私の頭をラップしていますが、それは最終的にクリックする必要があります。 HKEY_CURRENT_USER>ソフトウェア> RICOH> JOBCODE> JCUserIDで見つかった\\ JaayB

関連する問題