ダルシーのにっき: 2017

複合機でスキャンできない!ファイル共有の落とし穴

ジメジメと鬱陶しい暑さにさらされている今日この頃。

またも発射されまして。ボスによる、対部下ミサイル。
お盆明けの原因不明の障害なんて、もうテロでしかありません。

内容はタイトルの通りなのですが、複数の部署から「複合機でスキャンしようとするとエラーになり未送信レポートが印字される」という連絡があり、諸々疑ってみるも異常なし。

複合機メーカーの保守員さんも招集しての騒動と相成りましたが、結果は・・・

Cat


複合機でスキャンしたデータを格納するファイルサーバーのSMBv1を無効にしたことが原因でした。

まぁ、サーバーに限った話ではなく、SMBv1に依存して動作するソフトウェアやサービスも同様のことが言えるわけで・・・

無効にする前に、使用している各種サービスとソフトウェアの仕様確認とテストしさえすればこんなことにはならずに済むんです。

うちの場合、WannaCry対策でMicrosoftさんがSMBv1の無効化を推奨しているので、脊髄反射的にやっちゃったみたいなんですけどね。
(ってか、今さらWannaCry対策かよ!?って話ですけど。初動が遅いにもほどがある)

ちなみに。(99%無いと思うけれど)運悪くこういう状況に遭遇してしまった場合、SMBv1を有効に戻す方法は以下の通り。

Windows PowerShell( 2.0 もしくはそれ以降のバージョン)を管理者権限で実行し、以下のコマンドを実行し、サーバーまたはクライアントPCを再起動します。

【Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2の場合】

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" 
SMB1 -Type DWORD -Value 0 -Force

【Windows 8、Windows Server 2012の場合】

Set-SmbServerConfiguration -EnableSMB1Protocol $false

【Windows 8.1以降のOSを搭載したクライアントPCの場合】

1. [コントロールパネル] を開き、[プログラムと機能] を選択。右ペインの[Windowsの機能の有効化または無効化] をクリックします。

2. Windowsの機能にて [SMB1.0/CIFS ファイル共有のサポート] のチェックボックスをオフにし、[OK] ボタンをクリックします。

【Windows Server 2012 R2以降のサーバーOSの場合】

1. [サーバーマネージャー] で[管理] メニューを選択し、[役割と機能の削除] をクリックします。

2. [役割と機能の削除ウィザード]で [SMB1.0/CIFS ファイル共有のサポート] のチェックボックスをオフにし、[次へ] ボタンをクリック。
削除オプションの確認で[削除]ボタンをクリックします。


Read More

特定の条件でのみ文字化けが起こる謎

実に1年半ぶり?くらいの投稿(^^;

多分、残しておきたい備忘メモはたくさんあったハズなんだけど・・・もう忘れてしまいました。
このブログの意味、まるでゼロ(笑)

さてさて、本題にまいります。

cat


少し前まで問題なかったのに、なぜか社内システムの帳票を印刷するときだけ文字化けするとの連絡を受けまして。

ExcelやWordなんかは問題なく印刷できる。
PDFなども問題なし。
不具合の起きている帳票システムも、画面上の表示は正常。

とまぁなんとも面倒くさいややこしい状況。

話が長くなるので結論から言いますと、レジストリエディタで該当箇所の値データを修正し、解消しました。

今回文字化けを起こしたのは、本来はMSゴシックで表示されるべき部分だったので、私の場合は以下を修正。

レジストリ エディターの左ペインのツリーから、下記のキーを展開し、選択します。
         [コンピューター]
           - [HKEY_LOCAL_MACHINE]
               - [SOFTWARE]
                   - [Microsoft]
                       - [Windows NT]
                           - [CurrentVersion]
                               - [Fonts]

右ペインの一覧画面から、削除対象のフォント(今回の場合はMSゴシック)を確認します。



右クリックメニューから「修正」をクリックし、値データを確認すると  msgothic_0.ttc となっていました。
これを msgothic.ttc に修正し、PCを再起動。


どうやらMSさんも認識はしているようです。


詳細は現在調査中ですが、以下のような条件で現象が発生することが確認されています。
・異なるファイル名のフォント ファイルによって、同じフォント名のフォントがインストールされている。
 
・上記のそれぞれのフォントにおいて、同じグリフ ID に、別のグリフが割り当てられている。 
・上記のフォント名を指定し、GDIPlus の Graphics.Drawstring 関数で文字列の描画を行っている。
確認されている状況として、Windows 10 日本語版に Office 2007 日本語版をインストールした際、Windows 10 日本語版に標準でインストールされている msmincho.ttc のほかに、Office 2007 日本語版によって MSMINCHO.TTF がインストールされ、上記のような状況となります。このとき、Windows 10 の GDIPlus を使用し Graphics.Drawstring 関数でMS 明朝の文字列を描画すると、文字化けが発生します。文書番号:3144536より抜粋



Win10に限った話というわけでもないようで。。。Win7でも同様の方法で解決しました。


Read More