AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 589476
Accepted
HopelessN00b
HopelessN00b
Asked: 2014-04-17 07:23:01 +0800 CST2014-04-17 07:23:01 +0800 CST 2014-04-17 07:23:01 +0800 CST

我可以在 Server 2012/R2 上禁用 WSD(设备 Web 服务)吗?如何?

  • 772

我正在寻找一种在 Server 2012 和 Server 2012 R2 上禁用 WSD 的方法。基本上,我们的一些打印服务器上的一些打印机已经决定使用这种该死的服务比使用他们分配的 TCP/IP 端口更好,他们正在将自己转换为 WSD 端口,这导致用户无法使用打印到这些打印机。

在 Windows 2008 R2 服务器上,我可以通过停止和禁用 PnP-X IP Bus Enumerator 服务来防止这种行为,但是,该服务似乎不存在于 Server 2012 中。

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

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

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

windows-server-2012
  • 7 7 个回答
  • 82316 Views

7 个回答

  • Voted
  1. Best Answer
    Mathias R. Jessen
    2014-04-17T07:44:25+08:002014-04-17T07:44:25+08:00

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

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

    在此处输入图像描述

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

    如果您的打印服务器与您的打印机网络隔离,请改为阻止这些特定端口上的区域间流量:

    • TCP 5357 - WSDAPI事件
    • TCP 5358 - WSDEvents 安全
    • UPD 3702 - WSD 出版

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

    • 8
  2. RoelDS
    2014-04-22T23:43:18+08:002014-04-22T23:43:18+08:00

    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 更新之前,您应该将这 3 个文件重命名为其原始名称。然后在补丁安装成功后将它们改回.bak。

    • 4
  3. Nathan C
    2014-04-17T07:37:29+08:002014-04-17T07:37:29+08:00

    您想要的服务是“Function Discovery Provider Host”(也称为fdPHost)。这将禁用 WS-Discovery 协议。但是,这也有禁用 SSDP 支持的副作用。

    • 2
  4. Shon
    2015-06-04T13:24:22+08:002015-06-04T13:24:22+08:00

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

    • 2
  5. Gui lamu
    2020-02-27T00:30:41+08:002020-02-27T00:30:41+08:00

    这是一个 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 是一个批处理文件,用于在重命名之前获取需要重命名的文件的所有权。它还通过运行注册表黑客来结束。

    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
    

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

    您可以运行批处理然后运行 ​​reg,或者其他方式无关紧要。

    在 W10 LTSC 上成功测试。

    • 1
  6. Babacar
    2018-07-25T07:41:14+08:002018-07-25T07:41:14+08:00

    我做了什么:

    1. 转到打印机 Web 界面并从网络设置(WS 发现、WS 扫描、WS 打印)中禁用所有与 WS 相关的东西。这将导致打印机不再通过 WSD 做广告
    2. 检查计算机并将端口更改为 TCP/IP(如果需要)。

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

    希望这会有所帮助

    • 0
  7. Praesagus
    2020-11-03T10:51:27+08:002020-11-03T10:51:27+08:00

    我在 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\WSD Port\Ports 下找到了我的 WSD 端口的注册表项。有一个与端口名称相同的密钥。一旦删除了有问题的键,打印机就会停止自动将自己分配给该端口。

    注意:对于注册表不熟悉的人,您可以右键单击该键并选择导出。如果事情停止工作,您可以运行刚刚导出的 reg 文件以恢复信息。

    • 0

相关问题

  • 一个 Active Directory,多个远程桌面服务(Server 2012 解决方案)

  • 在虚拟处理器上启用硬件辅助虚拟化?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve