我可以在Server 2012 / R2上禁用WSD(设备的Web服务)吗?怎么样?


12

我正在寻找一种在Server 2012和Server 2012 R2上禁用WSD的方法。基本上,我们许多打印服务器上的许多打印机已决定,使用这种流血的服务要比使用为其分配的TCP / IP端口更好,并且它们将自己更改为WSD端口,导致用户无法打印到这些打印机。

在Windows 2008 R2服务器上,我可以通过停止和禁用PnP-X IP总线枚举器服务来防止此行为,但是,该服务似乎在Server 2012中不存在。

我遇到的停止这种行为的唯一建议都是次优的。

  1. 关闭网络发现(WDS依赖其运行)
  2. 在防火墙处阻止WDS
  3. 在打印机上禁用WDS功能。

我想在打印服务器上禁用此服务(并且仅禁用此服务)的方法,因为其他任何选项所涉及的工作都比我想要的(2、3)多得多,或者有不良的副作用(1 )。有人知道这样做的方法吗?

Answers:


8

恐怕没有WSD的“关”开关专门用于Windows Server中的打印机发现

作为禁用“功能发现提供者主机”服务的替代方法,可以在具有高级安全性的Windows防火墙中将以下出站规则的“操作”更改为“拒绝”:

在此处输入图片说明

这将专门阻止WSD和WSDAPI发现事件

如果将打印服务器与打印机网络隔离开,请改为在这些特定端口上阻止区域间通信:

  • TCP 5357-WSDAPIEvents
  • TCP 5358-WSDEvents安全
  • UPD 3702-WSD发布

我认为您不需要在打印服务器上禁用WSD入站。


可能也想在我们的打印服务器上阻止入站,不是吗?真诚地希望避免使用此选项,因为这意味着在我们的打印服务器上启用Windows防火墙,这将导致我们无法处理的工作量更多,并且...技术人员遇到问题要引导。但是,如果这是最糟糕的选择,那我将走这条路线。
HopelessN00b

3

1)合并此reg文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSDPrintDevice]
"Type"=dword:00000001
"Start"=dword:00000004
"ErrorControl"=dword:00000001
"Tag"=dword:00000028
"ImagePath"=hex(2):00,00
"DisplayName"="@WSDPrint.Inf,%WSDPrintDevice.SVCDESC%;WSD Print Support"
"Group"="Extended Base"
"Owners"=hex(7):00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSDPrintDevice\Enum]
"Count"=dword:00000000
"NextInstance"=dword:00000000

这会导致无法启动WSD打印服务,并在某些情况下强制其启动而删除WSDPrint.Inf的位置。

2)将WINDOWS \ INF文件夹中这3个文件的扩展名重命名为.bak:

WSDPrint.Inf
WSDPrint.PNF
WSDScDrv.inf

这会阻止WSD打印设备启动。

尽管“添加打印机”窗口中显示了WSD打印机,但您似乎可以添加它们,但从未创建WSD端口,并且未安装打印机的WSD驱动程序。满足所有条件。在Windows Server 2012 R2中验证。

1缺点:在进行任何与打印或WSD相关的Windows Update之前,应将3个文件重命名为其原始名称。补丁安装成功后,将其更改回.bak。


2

所需的服务是“功能发现提供者主机”(也称为fdPHost)。这将禁用WS-Discovery协议。但是,这也具有禁用SSDP支持的副作用。


不确定就是这样。主机或发布者服务均未运行,并且都设置为手动启动。
HopelessN00b 2014年

我相信它们会像其他一些一样按需启动,但是您可能是对的。
内森·C

至于使用哪种发现方法似乎取决于特定服务(功能发现资源发布)是否在运行。停止该服务后,将使用NETBIOS,并运行WSD。

Microsoft在此博客文章中对此进行了详细介绍:blogs.technet.microsoft.com/networking/2010/12/06/…–
Thomas

2

通过“设备和打印机”将打印机手动安装到网络。选择选项“使用TCP / IP地址或主机名添加打印机。在下一个窗口中,确保将设备类型选项更改为TCP / IP设备而不是自动检测选项(通常是默认设置)。输入打印机的IP地址,然后单击“下一步”,从这一点开始照常完成安装,这将解决此问题。


1

这是一个reg和批处理文件,使之只需2次单击操作:

https://drive.google.com/open?id=1mlx_ziiygRib9f4UkweBvAV8n-DXYNKg

disablewsdservice.reg是给出的注册表破解RoelDS

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSDPrintDevice]
"Type"=dword:00000001
"Start"=dword:00000004
"ErrorControl"=dword:00000001
"Tag"=dword:00000028
"ImagePath"=hex(2):00,00
"DisplayName"="@WSDPrint.Inf,%WSDPrintDevice.SVCDESC%;WSD Print Support"
"Group"="Extended Base"
"Owners"=hex(7):00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WSDPrintDevice\Enum]
"Count"=dword:00000000
"NextInstance"=dword:00000000

disablewsdservice.EN.bat是一个批处理文件,用于对重命名之前需要重命名的文件拥有所有权。它也通过运行注册表hack结束。

TAKEOWN /F %WINDIR%\INF\WSDPrint.Inf
ICACLS %WINDIR%\INF\WSDPrint.Inf /grant administrators:F
ren %WINDIR%\INF\WSDPrint.Inf WSDPrint.Inf.bak
TAKEOWN /F %WINDIR%\INF\WSDPrint.PNF
ICACLS %WINDIR%\INF\WSDPrint.PNF /grant administrators:F
ren %WINDIR%\INF\WSDPrint.PNF WSDPrint.PNF.bak
TAKEOWN /F %WINDIR%\INF\WSDScDrv.inf
ICACLS %WINDIR%\INF\WSDScDrv.inf /grant administrators:F
ren %WINDIR%\INF\WSDScDrv.inf WSDScDrv.inf.bak
disablewsdservice.reg

您需要在提升权限的(管理员)命令提示符下运行批处理文件。EN文件用于任何英语版本的Windows,FR文件用于任何法语版本。

您可以先运行批处理,然后再运行reg,也可以用其他方法运行它。

在W10 LTSC上成功测试。


0

我做了什么:1-转到打印机Web界面,并从网络设置(WS发现,WS扫描,WS打印)中禁用所有WS相关内容。这将导致打印机不再通过WSD 2再次做广告-检查计算机,并根据需要将端口更改为TCP / IP。

对所有新打印机执行这些快速步骤。

希望这会有所帮助

对不起我的英语不好

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.