HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Windows/System32/Printing_Admin_Scripts/zh-TW/pubprn.vbs
��'----------------------------------------------------------------------

'    pubprn.vbs - publish printers from a non Windows 2000 server into Windows 2000 DS

'    

'

'     Arguments are:-

'        server - format server

'        DS container - format "LDAP:\\CN=...,DC=...."

'

'

'    Copyright (c) Microsoft Corporation 1997

'   All Rights Reserved

'----------------------------------------------------------------------



'--- Begin Error Strings ---



Dim L_PubprnUsage1_text

Dim L_PubprnUsage2_text

Dim L_PubprnUsage3_text      

Dim L_PubprnUsage4_text      

Dim L_PubprnUsage5_text      

Dim L_PubprnUsage6_text      



Dim L_GetObjectError1_text

Dim L_GetObjectError2_text



Dim L_PublishError1_text

Dim L_PublishError2_text     

Dim L_PublishError3_text

Dim L_PublishSuccess1_text





L_PubprnUsage1_text      =   "O(u�e_: [cscript] pubprn.vbs server ""LDAP://OU=..,DC=..."""

L_PubprnUsage2_text      =   "       server /f Windows :O
ghV
T1z (e.g.: Server) b UNC pSh�_j
T1z (\\Server\Printer)"

L_PubprnUsage3_text      =   "       ""LDAP://CN=...,DC=..."" /f�vj�[hV�v DS _"

L_PubprnUsage4_text      =   ""

L_PubprnUsage5_text      =   "�{�O 1: pubprn.vbs MyServer ""LDAP://CN=MyContainer,DC=MyDomain,DC=Company,DC=Com"""

L_PubprnUsage6_text      =   "�{�O 2: pubprn.vbs \\MyServer\Printer ""LDAP://CN=MyContainer,DC=MyDomain,DC=Company,DC=Com"""



L_GetObjectError1_text   =   "/���: _"

L_GetObjectError2_text   =   " ~b
N0R0"

L_GetObjectError3_text   =   "/���: !q�lX[�S"



L_PublishError1_text     =   "/���: Pubprn !q�l|vHOpSh�_j�_"

L_PublishError2_text     =   " �V�p�[@b�WL��v/f Windows 2000 �N
N�vHr,g0"

L_PublishError3_text     =   "pSh�_j|vHO1YWe "

L_PublishError4_text     =   "/���: "

L_PublishSuccess1_text   =   "�]|vHO�vpSh�_j: "



'--- End Error Strings ---





set Args = Wscript.Arguments

if args.count < 2 then

    wscript.echo L_PubprnUsage1_text

    wscript.echo L_PubprnUsage2_text

    wscript.echo L_PubprnUsage3_text

    wscript.echo L_PubprnUsage4_text

    wscript.echo L_PubprnUsage5_text

    wscript.echo L_PubprnUsage6_text

    wscript.quit(1)

end if



ServerName= args(0)

Container = args(1)



if 1 <> InStr(1, Container, "LDAP://", vbTextCompare) then

    wscript.echo L_GetObjectError1_text & Container & L_GetObjectError2_text

    wscript.quit(1)

end if



on error resume next

Set PQContainer = GetObject(Container)



if err then

    wscript.echo L_GetObjectError1_text & Container & L_GetObjectError2_text

    wscript.quit(1)

end if

on error goto 0







if left(ServerName,1) = "\" then



    PublishPrinter ServerName, ServerName, Container



else



    on error resume next



    Set PrintServer = GetObject("WinNT://" & ServerName & ",computer")



    if err then

        wscript.echo L_GetObjectError3_text & ServerName & ": " & err.Description

        wscript.quit(1)

    end if



    on error goto 0





    For Each Printer In PrintServer

        if Printer.class = "PrintQueue" then PublishPrinter Printer.PrinterPath, ServerName, Container

    Next





end if









sub PublishPrinter(UNC, ServerName, Container)



    

    Set PQ = WScript.CreateObject("OlePrn.DSPrintQueue.1")



    PQ.UNCName = UNC

    PQ.Container = Container



    on error resume next



    PQ.Publish(2)



    if err then

        if err.number = -2147024772 then

            wscript.echo L_PublishError1_text & Chr(34) & ServerName & Chr(34) & L_PublishError2_text

            wscript.quit(1)

        else

            wscript.echo L_PublishError3_text & Chr(34) & UNC & Chr(34) & "."

            wscript.echo L_PublishError4_text & err.Description

        end if

    else

        wscript.echo L_PublishSuccess1_text & PQ.Path

    end if



    Set PQ = nothing



end sub