Printing 将网络打印机添加到所有用户x64位打印服务器的脚本

Printing 将网络打印机添加到所有用户x64位打印服务器的脚本,printing,scripting,cmd,64-bit,Printing,Scripting,Cmd,64 Bit,我以前在WindowsXP中使用这个脚本,但是因为我们正在切换到7,所以我尝试在新的图像上使用它。它似乎在尝试,但不起作用。我创建了一个64位打印服务器,这些机器是64位的,这是唯一的区别。我读了这篇文章,发现有一个GPO需要设置以允许它工作。这是-计算机配置>管理模板>打印机>允许后台打印程序接受客户端连接 我已经试过了所有的方法,但都不能成功,它不会给我一个错误或任何东西。它会提示我输入PC名称和打印机名称,然后从echo命令中显示“添加打印机”,然后就放在那里。我可以自己运行命令,但它也不

我以前在WindowsXP中使用这个脚本,但是因为我们正在切换到7,所以我尝试在新的图像上使用它。它似乎在尝试,但不起作用。我创建了一个64位打印服务器,这些机器是64位的,这是唯一的区别。我读了这篇文章,发现有一个GPO需要设置以允许它工作。这是-计算机配置>管理模板>打印机>允许后台打印程序接受客户端连接

我已经试过了所有的方法,但都不能成功,它不会给我一个错误或任何东西。它会提示我输入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

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

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

另外,请在客户端上使用非管理员非提升帐户运行简单的
rundll32 printui.dll printui entry/in n\\PRINTSERVER\%PRINTER%
,以验证打印服务器配置

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

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

检查客户端和打印服务器上的事件日志是否存在任何错误

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

您是否尝试强制添加提供程序<代码>/j“LanMan打印服务”

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

如果您真的想通过登录脚本来完成,Vista/7/8中还有一系列工具,用于%WINDIR%\System32\Printing\u Admin\u脚本中的打印管理,如


旁注:
start/wait
效率低下,因为sc.exe不等待服务的任何响应。因此,如果您不停顿地停止和启动,服务很可能不会在重新启动之前停止,并跳过第二个订单。您必须在停止和启动之间模拟暂停(
ping127.0.0.1-n5>nul2>&1
),或者使用检查服务状态。

非常感谢!这就解决了问题

以下是我的添加脚本:

@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