VBScript:validation打印机共享是否存在

有没有办法在VBScript中确定打印共享是否存在于打印服务器上? 这个想法是在共享从服务​​器上被移除的情况下,去除与该打印机的连接。

文件共享是一个问题,如果检查一个现有的文件夹,但怎么样的打印份额?

以下VBScript使用WMI连接到PC并列出本地Windows计算机上的所有打印队列。 要查询远程机器,只需键入该机器的名称来代替.strComputervariables中。

 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:pipe理networking打印机 。

请记住,某些打印机可能安装在系统级别上,并且可供所有用户随时使用,但在客户端PC上,队列可能只能安装在用户的configuration文件中,并且只有在用户login时才能使用。