Server 2012およびServer 2012 R2でWSDを無効にする方法を探しています。基本的に、多くのプリントサーバー上の多くのプリンターは、この血まみれのサービスを使用する方が、割り当てられたTCP/IPポートを使用するよりも優れていると判断し、WSDポートに切り替えているため、ユーザーはこれらのプリンターに印刷します。
Windows 2008 R2サーバーでは、PnP-X IP Bus Enumeratorサービスを停止して無効にすることでこの動作を回避できます ただし、そのサービスはServer 2012に存在しないようです。
この動作を停止するために私が遭遇した唯一の提案は、すべて最適ではありません。
プリントサーバーでこのサービス(このサービスのみ)を無効にする方法を教えてください。他のオプションは、私が望むよりも多くの作業(2、3)を伴うか、望ましくない副作用(1 )。誰かがこれを行う方法を知っていますか?
Windows Serverでのプリンター検出専用のWSDの「オフ」スイッチはありません。
「機能検出プロバイダーホスト」サービスを無効にする代わりに、セキュリティが強化されたWindowsファイアウォールで、次の送信ルールのアクションを拒否に変更できます。
これにより、WSDおよびWSDAPI検出イベントが特にブロックされます
プリントサーバーがプリンタネットワークから分離されている場合は、代わりに これらの特定のポート でゾーン間トラフィックをブロックします。
プリントサーバーでWSDインバウンドを無効にする必要はないと思います。
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に戻します。
デバイスとプリンターを介してネットワークにプリンターを手動でインストールします。 「TCP/Ipアドレスまたはホスト名を使用してプリンターを追加する」オプションを選択します。次のウィンドウで、「デバイスタイプ」オプションを「自動検出」オプション(通常はデフォルト)ではなく「TCP/IPデバイス」に変更してください。プリンターのIPアドレスを入力し、[次へ]をクリックします。この時点から通常どおりインストールを完了します。これにより、この問題が解決されます。
必要なサービスは、「Function Discovery Provider Host」(fdPHost
とも呼ばれます)です。これにより、WS-Discoveryプロトコルが無効になります。ただし、SSDPサポートが無効になるという副作用もあります。
これは、これを2クリック操作にするためのregファイルとバッチファイルです。
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-プリンターWebインターフェイスに移動し、ネットワーク設定(WS検出、WSスキャン、WS印刷)からすべてのWS関連のものを無効にします。これにより、プリンターがWSD 2を介して再びアドバタイズすることはありません-コンピューターをチェックし、必要に応じてポートをTCP/IPに変更します。
すべての新しいプリンターに対してこれらの簡単な手順を実行します。
これが役に立てば幸い
私の英語でごめんなさい