共有プリンターの0x0000011bエラー — 資格情報とLocal Portで接続する方法

別のWindows PCで共有されているプリンターを接続しようとした際、0x0000011bエラーが発生して追加できないことがある。

今回の環境でも通常の方法では共有プリンターを接続できず、最初に0x0000011bに関連してよく紹介されているRPCやWindowsプリンター共有関連の設定を複数確認したが、正常に接続できなかった。

最終的にはレジストリ値を変更したりWindowsのセキュリティ設定を下げたりせず、プリンターが接続されているホストPCの資格情報を登録し、共有プリンターのパスをLocal Portとして指定して、クライアントPC側へプリンタードライバーを手動でインストールする方法を使用した。

実際に確認した環境は以下のとおり。

  • Windows XP → Windows 10で共有されたプリンター
  • Windows 7 → Windows 11で共有されたプリンター

作業中には0x0000011bだけでなく、0x00000709が表示されたこともあった。

Windowsのバージョン、更新状態、セキュリティポリシー、SMB設定、プリンター機種、ドライバーによって結果は異なる可能性がある。

作業前の注意事項

この記事に記載しているメニュー名や設定場所は、Windowsのバージョンや更新状態によって多少異なる場合がある。

Windows XP、Windows 7、Windows 10、Windows 11ではプリンターやネットワーク設定画面が異なる。

例えば:

  • デバイスとプリンターとプリンターとスキャナー
  • プリンターが一覧にない場合の表示文言
  • Local Port作成画面までの手順
  • 資格情報関連メニューの名称
  • メーカーごとのドライバーインストール画面

などが異なる場合がある。

記事と同じ項目が見つからない場合は、同じ機能を持つ設定項目を基準に進める。

この記事は実際に作業した環境を基準としており、すべてのWindowsとプリンターの組み合わせで同じ結果になることを保証するものではない。

症状

プリンターは別のWindows PCにUSBなどで接続されており、そのPC側ではプリンター共有も有効になっていた。

しかし通常の方法で共有プリンターを追加しようとすると接続できなかった。

確認した症状:

  • ネットワーク上でホストPCは確認できる
  • 共有プリンターも確認できる
  • 接続するとエラーが発生
  • 0x0000011b
  • 一部の作業中に0x00000709
  • 共有フォルダーへのアクセスとプリンター接続で結果が異なる

最初に疑ったこと

Windowsのバージョン差による共有の互換性やセキュリティポリシーを疑った。

特にWindows XPやWindows 7からWindows 10、Windows 11へ接続する環境では:

  • SMB
  • Windows認証
  • TCP 445
  • Print Spooler
  • RPC
  • Point and Print
  • プリンタードライバー
  • Windowsセキュリティポリシー

など複数の要素が関係する可能性がある。

0x0000011bもWindowsプリンター共有やRPC認証のセキュリティ強化が関係する環境で発生することがある。

最初に試した方法

最初に、0x0000011bに関連して一般的に紹介されているRPCやWindowsプリンター共有関連の設定を複数確認して適用した。

しかし今回の環境では、それらの方法だけでは共有プリンターを正常に接続できなかった。

そのため同じ設定を変更し続けるのではなく、通常の共有プリンター追加経路自体を迂回する方法へ変更した。

最終的には:

ホストPCの資格情報を登録 → ホストPCへのアクセス確認 → Local Port作成 → 共有プリンターパス指定 → クライアントへドライバーを手動インストール

という手順で、実際の印刷まで確認できた。

これはRPC関連の方法がすべて無効という意味ではない。

今回の環境ではRPC関連の設定だけでは解決せず、Local Port方式へ変更した際に正常接続できたという結果になる。

解決方法

手順は以下のとおり。

  1. ホストPC側でプリンター共有を確認
  2. ホストPC名またはIPアドレスを確認
  3. クライアントPCへホストPCの資格情報を登録
  4. \\ホストPC名または\\ホストPCのIPへアクセス
  5. Local Portを作成
  6. \\ホストPC名またはIP\プリンター共有名を指定
  7. クライアントへドライバーを手動インストール
  8. テストページを印刷

1. ホストPC側のプリンター共有を確認

プリンターが直接接続されているWindows PCをホストPC、ネットワーク経由で使用するPCをクライアントPCとする。

一般的には:

コントロール パネル → デバイスとプリンター → プリンターを右クリック → プリンターのプロパティ → 共有

から確認する。

  • このプリンターを共有する
  • プリンターの共有名

を確認する。

例:

HP9010

2. ホストPC名またはIPアドレスを確認

Windowsのコンピューター名は例えば:

DESKTOP-AB12CD3

のようになっている。

Windows 10やWindows 11では通常:

設定 → システム → バージョン情報 → デバイス名

から確認できる。

プリンター共有名がHP9010の場合:

\\DESKTOP-AB12CD3\HP9010

となる。

IPアドレスを使用する場合:

\\192.168.0.20\HP9010

のように指定できる。

IPアドレスを使用する場合の注意

DHCPによってホストPCのIPが変更されると、Local Portで指定した接続先が使えなくなる場合がある。

IPを使用する場合は可能であれば:

  • 固定IPを設定
  • ルーターでDHCP予約

を行うと安定しやすい。

3. ホストPCの資格情報を登録

Windows 7 / 10 / 11

一般的には:

コントロール パネル → 資格情報マネージャー → Windows資格情報 → Windows資格情報の追加

から登録する。

ネットワークアドレスには:

DESKTOP-AB12CD3

または:

192.168.0.20

を入力する。

ユーザー名にはホストPCへアクセスできるアカウントを入力する。

例:

DESKTOP-AB12CD3\printeruser

続いてパスワードを入力する。

ここで必要なのはクライアントPCではなくホストPCへアクセスできるアカウント情報。

Windows XP

Windows XPでは新しいWindowsと同じ資格情報マネージャーを使用しない。

今回の作業ではコントロール パネルから登録した。

一般的には:

コントロール パネル → ユーザー アカウント → 現在のユーザー → ネットワーク パスワードの管理

のような経路で進む。

ここから保存されているユーザー名とパスワードを管理し、ホストPC名またはIPアドレスと、そのPCへアクセスできるアカウント情報を登録する。

Windows XPのエディションや設定によってメニュー名称は多少異なる場合がある。

今回の環境では実行コマンドを使う方法が動作しなかったため、コントロール パネルから直接設定した。

4. ホストPCへアクセスできるか確認

エクスプローラーまたは「ファイル名を指定して実行」で:

\\DESKTOP-AB12CD3

または:

\\192.168.0.20

へアクセスする。

アクセスできない場合は:

  • ホストPCの電源
  • ネットワーク通信
  • ファイルとプリンターの共有
  • ファイアウォール
  • ユーザー名とパスワード
  • SMB通信

などを先に確認する。

5. TCP 445を確認

Windows 10またはWindows 11ではPowerShellで:

Test-NetConnection DESKTOP-AB12CD3 -Port 445

または:

Test-NetConnection 192.168.0.20 -Port 445

を実行できる。

TcpTestSucceeded : True

ならTCP 445まで通信できている。

ただし、445がTrueでも共有プリンターが必ず接続できるという意味ではない。

6. Local Portでプリンターを追加

クライアントPCで:

コントロール パネル → デバイスとプリンター → プリンターの追加

から進む。

自動検出されたプリンターを選ばず:

目的のプリンターが一覧にない場合

などの手動追加項目を選択する。

続いて:

手動設定でローカルプリンターまたはネットワークプリンターを追加

を選ぶ。

ポートでは:

新しいポートの作成 → Local Port

を選択する。

ポート名には:

\\DESKTOP-AB12CD3\HP9010

または:

\\192.168.0.20\HP9010

を入力する。

7. プリンタードライバーを手動インストール

クライアントPCに対応するプリンタードライバーを直接インストールする。

Windowsに含まれていない場合はメーカーのドライバーを用意し、必要に応じてINFファイルを指定する。

一般的には:

  • 32ビットWindows → 32ビットドライバー
  • 64ビットWindows → 64ビットドライバー

が必要になる。

Windows XPでは新しいプリンター用ドライバーが提供されていない場合もある。

8. テストページを印刷

インストール後:

プリンターのプロパティ → テスト ページの印刷

を実行する。

実際に印刷されれば接続は完了。

今回もこの方法で実際の出力まで確認した。

なぜ資格情報を登録したのか

Windowsのファイル共有とプリンター共有は、どちらも他のWindows PCの共有リソースへアクセスする処理を含む。

現在のWindowsではSMB通信に一般的にTCP 445が使用される。

概念的には:

クライアントPC
       ↓
ホストPCへアクセス
       ↓
保存した資格情報で認証
       ↓
SMBセッション
       ↓
共有リソースへアクセス

という流れになる。

今回も資格情報を登録した状態でLocal Portを構成したところ正常印刷を確認した。

そのため、ホストPCとの認証が正常に行われたことが接続に影響した可能性がある。

ただしプリンター共有にはSMBだけでなく、RPC、Print Spooler、Point and Print、ドライバー、セキュリティポリシーなども関係する。

Local Port方式が0x0000011bで役立った理由

通常の共有プリンター追加では、ホストPCからプリンター情報やドライバーを取得する処理が含まれる場合がある。

ここにはPoint and Print、Print Spooler、RPC認証などが関係する。

今回の環境ではRPC関連の設定も複数確認したが、正常接続できなかった。

一方Local Port方式では、クライアントへドライバーを直接インストールし:

\\ホストPC名またはIP\共有プリンター名

を出力ポートとして使用する。

クライアントPC
       ↓
ドライバーを直接インストール
       ↓
Local Port
       ↓
\\ホストPC\共有プリンター
       ↓
ホストPC経由で印刷

という形になる。

そのため通常のPoint and Printやドライバーインストール経路で発生する一部の問題を迂回できる場合がある。

この方法は0x0000011bの根本原因を直接修正する方法ではなく、エラーが発生する通常の共有プリンター追加経路を迂回する方法と考えるほうが正確。

重要な注意 — 可能ならプリンターへ直接接続

Windows PC経由の共有は:

PC 1 ─┐
PC 2 ─┼── ホストWindows PC ── USBプリンター
PC 3 ─┘

という構成になる。

ホストPCが停止したり、共有設定、アカウント、ファイアウォール、Windowsのセキュリティポリシーなどが変更されると、他のPCでもプリンターを使用できなくなる可能性がある。

WindowsではSMB1、ゲスト認証、認証されていない共有アクセスなど、古い共有方式に対するセキュリティ制限も強化される方向にある。

特に:

  • Windows XPと新しいWindowsの共有
  • SMB1依存
  • パスワードなし共有
  • ゲスト認証
  • 古いWindowsをホストとして使用
  • 特定のPCを常時起動する構成

などは長期的な管理が難しくなりやすい。

プリンターがLANやWi-Fiをサポートしている場合

プリンター自体がネットワーク接続に対応している場合は、各PCから直接接続する方式を先に検討したほうがよい。

例えば:

プリンターの追加 → TCP/IPアドレスまたはホスト名で追加 → Standard TCP/IP Port

を使用する。

構成は:

PC 1 ─┐
PC 2 ─┼── ネットワーク ── プリンター
PC 3 ─┘

となる。

ネットワーク機能のないUSBプリンターを継続使用する場合には資格情報 + Local Port方式が有効なことがあるが、LANやWi-Fi対応プリンターなら直接ネットワーク接続を優先的に検討したほうがよい。

作業結果

0x0000011bに関連するRPCおよびプリンター共有設定を複数確認したが、今回の環境では解決しなかった。

その後:

ホストPCの資格情報を登録 → ホストへのアクセス確認 → Local Port作成 → 共有プリンターパス指定 → ドライバー手動インストール

へ変更し、実際の印刷まで確認できた。

確認環境:

  • Windows XP → Windows 10
  • Windows 7 → Windows 11

現場記録

症状: 0x0000011b、作業中に0x00000709も確認

最初に疑ったこと: Windowsのバージョン差、認証、SMB、RPC、プリンターセキュリティポリシー

最初に試したこと: RPCおよびプリンター共有関連の設定を複数確認したが、今回の環境では解決せず

最終作業: ホストPCの資格情報登録 → ホストへのアクセス確認 → Local Port作成 → 共有プリンターパス指定 → ドライバー手動インストール

確認環境: Windows XP → Windows 10 / Windows 7 → Windows 11

結果: 実際の印刷を確認

原因の可能性: ホストPCへの認証と、通常のPoint and Print接続経路を使用しないLocal Port方式が正常接続に影響した可能性

注意: Windowsのバージョン、更新状態、プリンターメーカー、ドライバーによってメニュー名称や手順が異なる場合あり

推奨構成: プリンター自体が有線LANまたはWi-Fiに対応している場合は、Windows PC共有より直接ネットワーク接続を優先的に検討

確認できなかった点: 作業当時は複数の共有・セキュリティ設定を確認したため、資格情報や特定の設定一つだけが唯一の解決原因だったとは断定できない