2014-04-02 27 views
0

我使用该脚本用于Windows XP,但由于我们正在切换到7,我试图在新图像上使用它。它似乎尝试,但它不起作用。我创建了一个64位打印服务器,这些机器是64位,这是唯一的区别。我仔细阅读了这篇文章,看到有一个GPO需要设置,以使其发挥作用。这是 - 计算机配置>管理模板>打印机>允许后台打印程序接受客户端连接。将网络打印机添加到所有用户的脚本x64位打印服务器

我已经尝试了一切,不能得到这个工作,它不会给我一个错误或任何东西。这让我对PC的名称和打印机名称的提示,则表示从echo命令“添加打印机”,只是坐在那里。我可以自己运行命令,它也不起作用.......请帮忙!

最主要的是打印机需要从打印服务器和计算机中添加到所有用户作为其默认设置。

@echo off 
echo PC Name 
set /p PC= 

echo Printer Name 
set /p PRINTER= 

ECHO Adding Printer... 
\\ghostserver\installs\pstools\psexec \\%PC% -n 3 cmd /c rundll32   
printui.dll,PrintUIEntry /y /ga /c\\%PC% /n\\PRINTSERVER\%PRINTER% 

ECHO Restarting Print Spooler... 
start /wait sc \\%PC% stop spooler 
start /wait sc \\%PC% start spooler 

回答

1

是否要从网络安装或映射打印机?

首先要尝试:在7 x64客户端上手动映射打印机。如果失败,你的问题不是批处理。

另请尝试使用简单的rundll32 printui.dll PrintUIEntry /in n\\PRINTSERVER\%PRINTER%与客户端上的非管理非高级帐户验证打印服务器配置。

是否禁用了“禁止使用内核模式驱动程序安装打印机”GPO? (必须)

检查防火墙设置,UAC /标高配置,管理员访问。运行gpupdate /force并重新启动客户端。

检查事件日志两个任何错误的客户端和打印服务器上。

使用管理员帐户(打印服务器和客户端),尝试从打印服务器推送安装。

你有没有试图强行加入的供应商? /j "LanMan Print Services"

如果您有2008服务器或DC,可以使用打印管理或组策略首选项来部署打印机(比bat + psexec + printui.dll更容易)。

如果你真的想通过登录脚本来做到这一点,那么在%WINDIR%\ System32 \ Printing_Admin_Scripts中的Vista/7/8中还有一些用于打印管理的工具,如this one

备注:start /wait效率低下,因为sc.exe不会等待服务的任何响应。所以,如果你停下来,中间没有停顿开始,很可能是该服务将不会重启前停止,跳过第二个订单。您必须模拟在停止&开始或使用safer script之间的暂停(ping 127.0.0.1 -n 5 >nul 2>&1)来检查服务的状态。

0

太谢谢你了!这解决了它。

这里是我添加脚本:

@echo off 
echo PC Name 
set /p PC= 


echo Printer Name 
set /p PRINTER= 


echo Adding Printer... 
\\servername\installs\pstools\psexec -s -i -accepteula \\%pc% rundll32 printui.dll PrintUIEntry /in /y /ga /n\\PRINTSERVER\%PRINTER% 


echo Restarting Print Spooler... 
start sc \\%pc% stop spooler 
pause 
start sc \\%pc% start spooler 
pause 

这里是我的删除脚本:

@echo off 
echo PC Name 
set /p PC= 

echo Printer Name 
set /p PRINTER= 


echo Adding Printer... 
\\servername\installs\pstools\psexec -s -i -accepteula \\%pc% rundll32 printui.dll PrintUIEntry /gd /n\\PRINTSERVER\%PRINTER% 


echo Restarting Print Spooler... 
start sc \\%pc% stop spooler 
pause 
start sc \\%pc% start spooler 
pause 
相关问题