fc2ブログ
 

Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです


2010年04月17日

Windowsのフォントについて

■WindowsOSが採用している文字セット
 WindowsXP 以前では「JIS90」
 Windows Vista 以降では「JIS2004」

「JIS2004」では以前の「JIS90」に比べて文字が追加されている。
文字が追加されたことは、歓迎すべきことですが、この追加された文字を
ファイル名に使用すると、ツールによっては「ファイルをコピーできない」
という問題が起こります。

VWindowsVistaやWindows7で作成された、新しい文字を使用したファイルを
WindowsXP以前のPCでコピーを行おうとするとうまくいかないことがあるようです。

■対策
 これらの問題を引き起こさないようにする為には、OSが混在している環境において
 文字セットを統一することです。
 ①.「JIS90」に統一
  WindowsVistaやWindows7の端末に、「JIS90」の文字セットをインストール。
 ②.「JIS2004」に統一
  WindowsXPの端末に、「JIS2004」の文字セットをインストール。

どちらの対策がとれるかどうかは環境次第です。
本当は②の対策がとれればいいのでしょうが、基幹システム連携などで、
新しい文字を利用できない場合は注意が必要ですね。

[ posted by h.i ]
スポンサーサイト





2010年03月21日

バッチファイルでの小技4連発

久しぶりにWindowsのバッチファイルを書く機会があったので、
そのときお世話になった小技を紹介。
全体的に脈絡ないのはご容赦願いますw

・PsExecを利用したリモートPCからのバッチ実行
set REMOTEIP=192.168.1.1
set REMOTEUSR=Administrator
set REMOTEPWD=xxxxx
set REMOTEBAT=C:\Remote.bat
set PARAM=BatchParameter

psexec \\%REMOTEIP% -accepteula -u %REMOTEUSR% -p %REMOTEPWD% "%REMOTEBAT%" %PARAM%

: PsExecは、指定したリモートPC上に存在するプログラムを
: リモートPC上で実行するためのコマンドラインツールです。
: EXEファイルひとつで動作するので導入に手間がかかりません。
: 詳しくはMicrosoftのダウンロードページをご覧下さい。

・IPアドレスの変更
set ADDRESS=192.168.1.1
set MASK=255.255.255.0
set GATEWAY=192.168.1.254
set METRIC=1

netsh interface ip set address "ローカル エリア接続" static %ADDRESS% %MASK% %GATEWAY% %METRIC%

: 上記の例では固定IPアドレス(static)を指定していますが、
: DHCPクライアントとする設定も可能です。
: 詳しくは「netsh」コマンドをお調べ下さい。

・リモートPCへのファイルコピー
set REMOTEPATH=\\192.168.1.1\C$
set REMOTEUSR=Administrator
set REMOTEPWD=xxxxx

net use %REMOTEPATH% /delete
net use %REMOTEPATH% %REMOTEPWD% /user:%REMOTEUSR%

set SRC=C:\FILE.TXT
set DST=%REMOTEPATH%

xcopy /c /y %SRC% %DST%

: これといって特別な処理ではありませんが、
: net use を利用してネットワーク接続する際、
: 複数接続エラーが出てしまう場合、上記のように
: いったん接続を削除しておくと具合がよろしいです。
: まぁ、備忘録代わりということで…。

・「DB名(復元しています...)」状態のSQLServerデータベースを利用可能な状態にする
set SQLCMDSERVER=(local)
set SQLCMDDBNAME=master
set SQLCMDUSER=sa
set SQLCMDPASSWORD=xxxxx
set DBNAME=TESTDB

sqlcmd -b -Q "RESTORE LOG [%DBNAME%] WITH RECOVERY;"

: 「DB名(復元しています...)」メッセージは、NORECOVERYオプションを付けて
: データベースをリストアした場合に表示されます。
: NORECOVERYオプションは「リストアデータに続きがある」という指定で、
: データベースは一時的に利用不可の状態となりますが、
: 後続となる差分バックアップデータやトランザクションログデータが存在しない場合は
: 上記の要領で強制的にロールフォワードさせて利用可能な状態に戻せます。
: ちなみに、SQLCMDxxxxx環境変数を定義しておくと sqlcmd が勝手に参照してくれて便利。
: まぁ、でも正直あまりバッチファイルとは関係のない話ではありますw

[ posted by ken ]


2010年03月02日

Virtual PC

Virtual PC 2007を使う機会がありました。
Virtual PCはMac用の有償ソフトだったと記憶してますが、
現在は無償化されております。

今回は、WindowsXPでの開発環境が必要だったのですが、
手元にXPの端末が無く、
WindowsVistaに本ソフトの導入となりました。

(Virtual PCとはWindows及びMac上で動作する
仮想マシン環境を提供するソフトウェア)

使ってみての感想ですが、
思っていたより、違和感が無いです。
ホストOSとゲストOS間のコピー(ファイル・クリップボード)は
標準では利用できませんでしたが
追加機能をインストールすることで可能となりました。
但し、ホストOSとゲストOS間で
ショートカットキーを使用してのコピーがどうも
うまく動作しないことがあったので、
スムーズな操作とはいきませんでした。

あとは、CPUとメモリに余裕がないと
ゲストOSの動きが悪くなります。
今回のVistaにXPで、メモリ2GBでギリギリOKという感じです。

1台のパソコンに複数のOSという環境で、
マシンスペックに余裕があれば、
デュアルブートよりも使い勝手はいいと思います。

[posted by S.S]


2010年02月25日

Windows7の管理権限

◆管理者権限
最近、Windows7環境において既存のVB6で作成されたプログラムが動作するかを検証する機会がありました。
実行する前にレジストリ登録が必要だったので、Administratorsグループに所属する設定用のアカウントでログインし、コマンドプロンプトからREGSVR32コマンドを発行しました。
が、登録処理は全てエラーとなってしまいました。???

どうやら後述するユーザーアカウント制御という機能がVista以降から新たに採用されていることが要因だったようです。
今回、レジストリ登録を行ったユーザーは上述の通り、Administratorではなく同等の権限を持ったユーザーで実行したのですが、この場合は権限を付与して実行しなければならないようです。

◆ユーザーアカウント制御(UAC : user Account Control)
Windows Vista やWindows 7 では、UAC権限モデルが採用されているとの事。
このUACは、ユーザーが意図していないコードが実行されないようにプロテクトする機能のようです。

主に以下の3つの特徴があります。
1) 管理者は2つのユーザーアカウントを使い分ける必要がない。
1つのユーザーアカウントに「通常ユーザー」としての役割と「管理者ユーザー」としての役割を与えることができる。
その為、ログイン/ログアウトを繰り返す必要がなくなります。
管理者は常に管理権限のある1人のユーザーでログオンでき、しかも安全にアプリケーションを実行することができます。

2) プロセスを分離可能
UACでは、プロセス単位で実行するユーザーの権限を変えることができます。
管理権限が必要なコードをメインのアプリケーションと切り分ければ、アプリケーション全体を管理者で実行しないくても良い為、より安全な環境を提供することが出来ます。

3) シームレスな繊維が実現される
管理者権限が必要になると、管理者として実行するかどうかを確認する画面が表示されます。
この画面で承認すれば、自動的に管理者として実行されます。


[ posted by h.i ]


2010年01月17日

Windows7のエクスプローラー

Windows7の発売からおよそ3ヶ月程が経ち、私も興味を持ち少し新機能について調べてみました。
特に興味深かったのは、Windowsの基本機能となるエクスプローラーの機能が大きく変更されていた点です。

WindowsVistaの不人気から、大きく改善されたのがWindows7と聞いていたのですが、エクスプローラーに追加された新機能「ライブラリ」にちょっと危険な要素があるとのことでした。

エクスプローラーの見た目や操作性については、大きく変更されており、XP以前のOSに慣れているユーザーは新しい操作方法を1から覚えなおす必要があるほどの変更があり驚きました。

◆ライブラリ◆
ライブラリの機能を一言でいうならば、「複数の保管場所にあるファイルやフォルダを1つのウィンドウに一覧表示し、ソートできる機能」といえるでしょうか。
このライブラリ機能は、画像・動画・音声・仮想CDファイルなどを読み取り専用のデータを扱うには、なかなか有用性がある機能と評価されていました。

しかしながら、文書や表計算データなど頻繁に更新するファイルなどは、バックアップや履歴を取ることが一般的なので、混乱しやすいそうです。
それは、1つのウィンドウ内に同名のファイルが複数一覧表示されてしまうため、どのファイルを編集して良いかわからなくなる可能性があるとのことでした。

このライブラリにファイルをドロップした場合どこに保存されるかは、ドロップした場所次第で変わってくる為、どこに保存されたのか分からなくなてしまうケースが存在するとの記述もありました。
(保存先は基本的にはライブラリのプロパティに設定されているフォルダのようであるが、ライブラリ内に同名のフォルダが複数表示されており、このフォルダ上にドロップしてしまうと、どのフォルダに格納されたかをキチンと把握しなければ、ファイルをロストしかねない。)

[ posted by h.i ]


2009年12月13日

リモート操作ソフト

Windows 7のリリースから2ヵ月近く経ち、既にバリバリ利用されている方も多いことでしょう。
自分の場合、会社マシンはいまだXPとVistaで頑張っていますが、自宅環境はほぼ全てWindows 7に移行済みといった按配。
Vistaが普通に動いているマシンであれば、ほぼ問題なくアップグレード可能なのが有難いところです。XPからVistaへの移行はマシンスペック的にかなり敷居が高かったですからね。

というわけで、今回はいつもと趣を変えて、自宅環境で使っているリモート操作用フリーソフトの紹介です。
リモート操作といえば、リモートデスクトップやVNCといった画面付きのものを想像される方が多いと思いますが、今回紹介するのは画面表示は無しで、キーボードやマウス操作のみをリモートPCから行える、というもので、いわゆるKVM切替器のV(ideo)無しをソフト的に実現するものです。

複数台のPCを利用する際に、モニタはそれぞれのマシンに接続されているのだけれども、キーボード、マウスは1台で済ませたい、というシチュエーションは結構ありがち。
ちなみに自宅環境では、動画再生用のPCがプロジェクタに接続されており、その操作をノートPCから行えるようになっています。

この手のソフトでメジャーどころと言えば、「どこドア」や
Synergy」といったところがあるわけですが、どこドアはシェアウェア、SynergyはWindows 7での挙動がイマイチ、ということで、辿り着いたのが「Input Director」。

英語版しかないので、最初の設定が若干とっつきにくいかもしれませんが、Master(操作する側)、Slave(操作される側)を混同しなければ、さほど難しいものではありません。
うまいこと設定が済めば、あたかもマルチモニタ環境の如く、マウスカーソルを画面端に移動すると、Slave側のモニタにマウスカーソルが出現。このとき、カーソルの周囲にソナーのようなアニメーションが表示されるのがナイスです。
OS起動時に有効にする設定にしておくと自動的にサービス登録してくれるようで、ログイン画面でもしっかり機能してくれるし、なによりWindows 7での挙動が安定しているのが嬉しいところ。
マシン起動のタイミング等でSlaveを認識しなくなったときはRescanすれば無問題。

昔に比べるとKVM切替器も安価になっているようですが、マルチボタンマウスの互換性など、実際に使ってみないと分からない細々とした問題は相変わらず存在するようなので、モニタが台数分用意できる環境であれば、まずはこういったリモート操作ソフトを試してみるのも手かもしれません。

[ posted by ken ]


2009年11月12日

Windows 7

先日、マイクロソフトから新しいOSが発売されました。
ここしばらくは、XPやVistaという名前でしたので、
少し印象が変わりました。
と言っても以前は、Windows+数字の組み合わせでしたので、
元に戻った感じはあります。

自分が仕事を始めた当時のWindows3.1から数えて
7まできた訳です。
歴史を辿ってみると
3→Windows 3.1
4→Windows 95
5→Windows 98
6→Windows Me
7→Windows XP
8→Windows Vista

数が合いません。

気になって調べてみると
3.0→Windows 3.0
3.1→Windows NT
4.0→Windows 95
4.0→Windows 98
4.10→Windows 98 SE
4.90→Windows Me
5.0→Windows 2000
5.1→Windows XP
6.0→Windows Vista
ということでした。そして7はというと
6.1→Windows 7

不思議ですね。
個人的にはマーケティング的に
付けた名前のような気がします。

ちなみにバージョンは、
コマンドプロンプトで、VERで確認できます。

[ posted by S.S ]


2009年11月09日

NEWマシンにWindows7を

久々にデスクトップPCを購入しました。
折角なので、Window7をインストールしたいと思います。

まず最初に、今回はISOファイルからインストールします。
ISOファイル単体では使えないので、まずは、イメージファイルで
DVDに書込む為のライティングソフトをインストールしたいと思います。

フリーのソフトが色々とありますが、まずは適当に。
ソフトのインストールは(もちろん)難しくはありません。
順調、順調。
「ISOファイルを選択」して、書き込み開始!
と思いきや、ブランクのメディアを認識しません・・・
メディアに問題はないはず、再起動したり、メディアを入れる
タイミングを変えたり・・・
しかし、何度やっても出来ません・・・

タイトルバーには、「CD」と表記されてます。
もしかして、使えないのかな?
(実際には使えるようなことは書いてあるのですが・・・)

とにかく早く7をインストールしたいので、
気を取り直して、別のアプリをインストール。
途中は端折りますが、無事に書込み成功!
(書き込んだPCにて中身を確認し、起動することも確認)

では早速、NEW PCに入れて起動!

BIOSの画面が出て、黒い画面がでて・・・
何やらメッセージが出てます。

適当に、読み流して
「Boot device ~ Insert Boot Media ~ press ~ Key.」
と出ているので、メディアを入れて何かキーを押せば良いのだな。
よしよし。楽勝、楽勝。

ん?無反応・・・
また同じメッセージが出現!

BIOSの設定でブートがCD/DVD ROMになってないのかな?
再起動してBIOSを確認。
First Boot Device [CD/DVD ROM]
Second ・・・

特に問題はなさそうです。

今度は、メッセージをちゃんとよんでみます。

Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key

[自動翻訳]
再起動して選択し、適切なブートデバイスまたはInsertのブートに
用いるメディア選択されたブートデバイスで、キーを押す

作業的には問題ないはず・・・なぜ・・・??

もう一度、メッセージを読み返してみます。

************************************************
Broadcom UNDI PXE-2.1 v11.0.14
Copyright (C) 2000-2008 Broadcom Corporation
Copyright (C) 1997-2000 Intel Corporation
All right reserved.

PXE-E61: Media test failure, check cable
PXE-M0F: Exiting Broadcom PXE ROM.

Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key
************************************************

何やら、不吉な単語が・・・

「failure」(故障!)

(自動翻訳)
メディアのテストが失敗した、チェックケーブル

ケーブルが抜けてるのかな・・・
いや、BIOS上はHDDもDVD ROMも認識してる・・・
FirstをHDDにしましたが、シ~ン・・・

しばし、インターネットで調査。
BIOSの初期化をしてみるのも、一つの方法のようです。
が、まったくダメです。

やはり、メッセージの通り、ケーブルに異常か・・・
ケーブルが揺るんでるだけかもしれないので、確認してみます。
(購入したばかりなので、あまりケースを開けていじりたくは
 ありませんが、一応開けてみます)
線は繋がっているし、緩みもなく問題はなさそうです。

ということで、もうこれ以上は私に出来ることはありません。
取りあえず、購入したお店に問い合わせることに・・・

NEWマシンにWindows7を・・・
ショックでもう立ち上がれません・・・

[ posted by T.K ]


2009年09月21日

回復コンソール

ノートPCが起動しない・・・

電源を入れBOOT開始、と思いきや、
突然ブルーバック!それも一瞬・・・そしてリブート・・・

大事なファイルもあるので、とにかく何とか復旧せねば!

まずは、インストールCDをセットし回復コンソールを起動。
コマンドプロンプトから

dir

コマンドを実行。反応がありません。
かなり待たされて表示されたものは、

「ディレクトリ列挙中にエラーが発生しました。」

HDDが逝ってしまったか?!
回復コンソールには、他にも入力可能なコマンドが
いくつかあるようです。その中でも一番、使えそうなコマンドは、

chkdsk

一番適当なコマンドのようなので実行。
が、戻ってきません。やはり、HDDが・・・
と、思いきや、どうやらチェックは出来そうです。
/p を付けて実行するよう指示が。では、早速。

chkdsk /p

オプションには、/r もありますが、これは必要なファイルに
対しても余計なことをしてしまう可能性もあるので注意が必要なようです。

エラー発見。そして、「修復しました。」とメッセージ!

これは期待出来そうです。立ち上がりました!
ほっ、と一息。

でも、なんとなく、まだ安心は出来ません。
立ち上がったのは、見かけだけかもしれません。
もう一度、chkdskを実行したところ、なんとファイルシステムに問題が・・・

と、いうことで、速やかに必要ファイルのバックアップを開始したいと思います。

PCに限らず、機械製品が逝くときは、いつも突然です。
そして、そういう時に限って続くもの?!
(関係ありませんが、つい先日もエアコン、冷蔵庫がいっぺんに・・・)


【注意】上記の手順は回復を保障するものではありません。

[ posted by T.K ]


2009年07月07日

Windows Installer CleanUp

現在のSQLサーバのバージョンは2008ですが、SQLサーバ2005のクライアントツールをインストールをしようとしたところ、MSXML6のインストールに失敗してクライアントツールのインストールができませんでした。これは、MSXML6.0 SP2がインストールされていることが原因のようです。

回避するためには、MSXML6.0 SP2の削除が必要ですが、アプリケーションの追加と削除(Vistaではプログラムと機能)から削除を行うとエラーとなり削除できませんでした。

このような場合のために、Windows Installer CleanUpユーティリティが用意されておりマイクロソフトのサイトからダウンロードできます。このユーティリティは Windowsインストーラによってインストールされたプログラムを対象に、インストール情報の削除を行うもので、対象ファイルは削除されません。インストーラが異常終了した場合などに用います。

これを使用してMSXML6.0 SP2のインストール情報の削除を行い、無事にSQLサーバ2005のクライアントツールをインストールできました。

なお、Windows VistaでOffice2007を使用し、IME 2007を使用している環境ですと、このユーティリティの起動ができないようです。その場合、IMEを"Microsoft IME"に変更することにより起動可能になります。
インストールで問題があった場合にはお試しください。

Windows Installer CleanUp

[ posted by hori ]