最近一个朋友的公司的网络打印共享打印出问题了。所有的人通过共享打印机的方式来连接打印机,于是问题出来了,有的人可以使用,有的人就会报错,超出共享连接最大值了。 我还真没有遇到过呢,虽然对电脑算是比较懂的了,但对这个问题还是真没遇到过,就到网上搜查看了一下,找到实用的贴出来分享,希望对大家有帮助。
经过在网上查了些资料,终于明白了,原来是WINDOWS操作系统搞的鬼。对于 Windows XP Professional,最多允许 10 台不同的计算机通过网络同时连接。此限制包括所有传输和共享协议的资源的组合。先连上来的打印完了之后,系统并不会自动断开连接,超过十个人以后,其他的人就没办法连上来了。
问题查清之后,解决方案就好办了。写个脚本程序定时清连接就完了,十分钟清一次连接应该是个比较科学的作法。本以为这个思路实现起来应该是比较容易的,但是查了一下资料,发现DOS命令中居然没有延时命令,不过这个难不倒咱,自己写一个就是了。具体实现方法如下:
一、延时命令
创建一个文本文件,里面写上一句话“WScript.sleep 600000”,然后保存文件为Delay.vbs。这句话的含义延时10分钟,里面的sleep命令后面的参数是以毫秒来计时的。
二、创建正式的命令,写一个DOS的批处理文件,扩展名以BAT或CMD结尾,命令的正文如下:
:Cir
net session /delete /y
start /wait delay.vbs
goto Cir
里面的命令的含义分别是:
NET SESSION /DELETE /Y 是用来清理会话的。/Y表示无须手工确认。
start /wait delay.vbs START 是用来调用DOS程序,/wait 的意思是独占执行,也就是后面的命令必须执行完毕后才能继续执行下一条指令。
上述两个文件编写完毕后,双击后面的文件,就会自动打开一个DOS窗口,每个十分钟会自动执行一次清会话的过程。这样的话,打印的时候就再也不会报错了