Windows XP/2003でproxycfg -uが意味不明なエラーを返す
Windows XPのSP2からなのかWindows UpdateがHKEY_CURRENT_USERのプロクシー設定ではなくHKEY_LOCAL_MACHINEのプロクシー設定を見るようになった。はずだ。
で、それを解説したサイトを見ると大抵proxycfg -uで解決さ!と書いている。ところが、解説されてやってみたサイトを見るとたまに「なんとか87なんとかというエラーが出てproxycfg -uが失敗するねんぞ」と書かれている。OKWaveにも質問が挙がっているが解決には至っていないようだ。
職場の人がこれの原因を突き止めたので報告しておく。それは「自分のIEのプロキシー設定の「除外」欄に半角スラッシュがあると87エラーが発生する」というものだ。その人は誤ってローカルアドレスの指定を192.168.0.0/16と書いていたために除外欄に半角スラッシュが入ってしまっていたのだ。なるほどこりゃあ気付かんわ。
ところで、IEではプロクシー設定やホストの指定に「MS-DOS互換」のワイルドカードのみ使う事ができる。つまり、「192.168.0.0/16」ではダメで、「192.168.*」という風に書かないといけない。クラスBのプライベートアドレス(172.16.0.0/12)を「172.16.*;172.17.*;172. ・・・ ;172.31.*」と書かないとダメという間抜け仕様だ。しかし、FirefoxやSafari for Windowsでは逆に「192.168.0.0/16」しか受け付けない。Firefoxは自前でプロクシー除外対象を設定できるが、Safariは必ずシステムの設定を使う(多分)のでSafariで使うために「192.168.0.0/16」形式も除外対象に入れている人はproxycfg -uは使えないのですなぁ。