VBScript:验证打印机共享是否存在

VBScript:验证打印机共享是否存在

有没有办法在 VBScript 中确定打印服务器上是否存在打印共享?这个想法是,如果共享从服务​​器上删除,则删除与该打印机的连接。

如果检查是否存在现有文件夹,则文件共享很重要,但是打印共享又如何呢?

答案1

以下 VBScript 使用 WMI 连接到 PC 并列出本地 Windows 机器上的所有打印队列。要查询远程机器,只需在变量.中输入该机器的名称即可strComputer

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")

For Each objPrinter in colPrinters
    If objPrinter.Attributes And 64 Then 
        strPrinterType = "Local"
    Else
        strPrinterType = "Network"
    End If
    Wscript.Echo objPrinter.Name & " -- " & strPrinterType
Next

要从机器上移除打印机,请使用以下命令:

Set objNet = CreateObject("WScript.Network")
objNet.RemovePrinterConnection "\\SERVER\Printer"

有关详细信息,请参阅MS TechNet:管理网络打印机

请记住,某些打印机可能安装在系统级别,并始终可供所有用户使用,但在客户端电脑上,队列可能仅安装在用户的配置文件中,并且仅在用户登录时可供他们的帐户使用。

相关内容