| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何在计算机上共享所有本地打印机?
如何在计算机上共享所有本地打印机?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 10:56:22
问:

您好,脚本专家! 如何编写可在计算机上自动共享所有本地打印机的脚本?

-- CD

答:

您好,CD。 您知道,我们重做您好,脚本专家!存档时,创建了专门用于打印的新类别。 不过,当我们开始填写存档页面时,我们非常惊奇地发现 – 我们尚未真正回答许多与打印相关的问题。 我们曾经认为我们一直在回答大量的有关打印方面的问题,但是显然我们只是将这些问题藏匿在了密室中,并且希望他们自生自灭。

我们为什么不愿意回答打印方面的问题呢? 毕竟,在 Windows XP 或 Windows Server 2003 中管理打印机是非常容易的,不是吗?

事实上,对 WMI 打印类所做的改进体现了在 Windows XP 和 Windows 2003 中编写脚本的真正优势之一。问题是这些改进大部分为 Windows 2000 中所没有的功能;坦白地讲,Windows 2000 中的打印管理不是要详细阐述的内容。 (或者不是要在每日脚本编写专栏中详细阐述的内容。) 大部分打印问题的解决方案是特定于 XP/2003 的: 这些解决方案完全不适用于 Windows 2000。由于我们更愿意提供在大多数 Windows 平台上均有效的通用解决方案,我们有点儿急于解决以前的打印问题,并希望没人会注意到这一点。

但我们终究要继续回答这个问题。 只需记住,如果运行的是 Windows 2000,则今天的专栏不适用于您。 该专栏只适用于 XP/2003。 是的,我们知道这不公平。 但事实就是如此。

下面的脚本可在计算机上共享所有本地打印机:

strComputer = "."

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



Set colInstalledPrinters =  objWMIService.ExecQuery _

    ("Select * from Win32_Printer Where Network = FALSE")



i = 1



For Each objPrinter in colInstalledPrinters

    objPrinter.Shared = TRUE

    objPrinter.ShareName = "Printer" & i

    objPrinter.Put_

    i = i + 1

Next

此脚本首先连接到 WMI 服务,然后发出此查询以返回所有本地打印机的集合,即与本地打印机端口相连的所有打印机的集合:

Set colInstalledPrinters =  objWMIService.ExecQuery _

    ("Select * from Win32_Printer Where Network = FALSE")

发出查询后,我们将计数器变量 i 的值设置为 1;稍后我们将通过此变量为每台本地打印机提供一个唯一的共享名称。 然后我们构建一个 For Each 循环以遍历我们的本地打印机集合。

在此循环内执行什么操作? 是这样,对于每台打印机,我们首先会将 Shared 属性的值设置为 True;这样可共享打印机。 顺便说一下,Shared 属性是 Win32_Printer 类的新添加属性;Windows NT 或 Windows 2000 中的 WMI 的版本中不显示该属性,正因如此,此脚本不适用于这些平台。

由于每台共享的打印机均要求具有一个唯一的共享名称,因此我们通过下面一行代码将 ShareName 属性的值设置为 Printer 加计数器变量的值:

objPrinter.ShareName = "Printer" & i

首次执行循环时,i 等于 1,因此 ShareName 将被设置为 Printer1。 随后我们调用 Put_ 方法,将更改实际写入打印机。 请勿遗漏此行代码;如果遗漏了此行代码,将不会保存您的更改,且不会共享打印机。 然后我们将 i 的值加 1,并再次循环。 这就意味着集合中下一台打印机的共享名称将为 Printer2,该打印机后面的打印机的共享名称将为 Printer3,依此类推。

正如前面所述,只要您运行的是 Windows XP 或 Windows Server 2003,此脚本即会顺利运行。如果您运行的是 Windows 的其他某个版本 – 那么,看起来我们今天所说的内容就不适合您了。 我要走了;再见!

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客
    如何在一个文件被添加到
    如何将“珊瑚虫”好友请

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览