ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

‘ネットワーク管理’ カテゴリーのアーカイブ

書評:Windows コマンドプロンプト ポケットリファレンス Windows7/Vista/XP/2000/2008 Server対応

コメントする »

IMG_2549_mid_640_480

「究極無比!Windows7のコマンドプロンプトを完全解説!ユーザーからエンジニアまで仕事がすいすい捗る最強リファレンス」と表紙にコメントが書かれているとおり、まさに他に類比なき本である。このようなコンピュータ関係の解説本では、主要なアプリケーション、主要な技術に関して類似の本が何冊も出版されることが一般的だが、この本に関しては最初にして究極の本が出た、という印象である。

Windowsに限らず他のOSでも、今日的な一般用途向けコンピュータはGUIによる操作が行われる。GUIとは「グラフィカル・ユーザー・インターフェース」で画面に表示されるアイコンやメニューをマウスなどのポインティングデバイスで選択しながら操作する方法である。この方法のメリットは、アイコンの絵柄から機能を類推することができ、また文字によって詳細な説明を見ながら操作できるので、覚えることが少なくてすむということである。だから一般ユーザーに支持され普及した。

しかしGUIですべての操作が満足にできるかというとそうではない。およそ世の中のあらゆることがそうだが、いくつかの選択肢があったとき、ある方法が他の方法に比べてすべて勝っている、ということはない。ものごとには利点と欠点が必ずある。GUIの欠点としては、見えているものだけが操作対象になるので、いくつか複数の設定項目が影響する操作では全体が把握しにくいこと、操作が感覚的に陥りやすいのでうっかりクリックミスなどで間違ったときに気が付きにくいこと、そしてコンピュータの設定について必ずしも全ての項目についてGUIが提供されているわけではないことだ。

面白いことに若い人を中心にして、意外にもコマンドによるコンピュータの操作が受け入れられているようだ。コマンドプロンプトでバッチ処理をしている、レジストリの設定を自分でカスタマイズしているなど、「パワーユーザー」と称されるようなユーザーが増えているように感じる。GUIによる操作にあきたらず、コンピュータの性能をフル活用したいという気持ちの表れだろう。そしてもちろん、コマンドプロンプトの恩恵を最大限に活用できるのはシステム管理者である。

IMG_2550_mid_640_480

Windowsコンピュータシステムにおいて最も効果的に管理する方法はActive Directoryによる管理だ。複数のコンピュータを複数のユーザーが入れ替わり立ち代わり使う環境では、Active Directoryによる管理が必須である。このような環境でまだActive Directoryによる管理をしていないところがあるなら、それはずいぶん損をしている。時間と手間と、そして何よりもセキュリティ上のリスクを背負っていると断言する。ドキュメントなど生成したコンテンツの共有、管理も効果的にできないはずだ。情報の正しい共有、管理ができず、あちこちの部課で似たような文書を作り、さらにそれら相互に矛盾をきたしカオス状態となっているはずだ。

Active Directory管理の基本はそれほど難しくない。基本はユーザー管理、ポリシー管理、セキュリティ管理、リソース管理である。リソース管理の主要なものはファイルサーバーのフォルダ管理とプリンタ共有の管理だろう。これらはある一定までGUIでできる。だがGUIだけでは完璧ではない。それにはレジストリに関する知識と、もうひとつはコマンドに関する知識である。

Active Directoryにはコンピュータの設定を変える機能がグループポリシーとして用意されている。しかし標準的に搭載されたグループポリシーによってコンピュータの全ての設定を変えることはできない。コンピュータの設定を自由に変えたいならばグループポリシーの知識を持ち、自分でグループポリシーテンプレートを作る必要がある。グループポリシーテンプレートを自分で作ることができるようになれば完璧だ。

より詳細な機能設定を行い管理するにはログインスクリプトを使う。ログインスクリプトはActive Directoryで管理でき、特定のユーザー、特定のグループに対してログイン時に特定のスクリプトを実行させることができる。このログインスクリプトはコマンドによる記述を行う。ここでこの「Windows コマンドプロンプトポケットリファレンス」の威力が発揮される。この本を読むと、コンピュータの機能をカスタマイズするとき、どのようなコマンドを使えばいいかがわかる。

コマンドの実行によってレジストリの値を変えることもできる。グループポリシーテンプレートを使うよりもログインスクリプトで実行した方が良い場合もある。この本にはレジストリの値を取得したり変更したりするコマンドについても、もちろん、説明されている。しかも対象OSはWindows 2000からWindows7までと広範囲にわたっている。この本が「究極無比」とうたわれる所以である。

この本の特徴として、序章に「コマンドの基礎知識」、第一章に「Cmd.exeの内部コマンド編」が書かれていることがある。「コマンドの基礎知識」では、コマンドを活用するために前提となる知識が説明されている。コマンドの文法、ファイルシステム、フォルダツリー、パス、ユーザーアカウント制限などについてである。「Cmd.exeの内部構造」ではDIRやCD、MD、COPY、DELなどの内部コマンドの説明がある。これらの知識は長年従事してきたシステム管理者や経験豊富なパワーユーザーにはおおむね理解されていることかもしれないが、これからコマンドの使い方を学ぼうと思う者には必須の知識である。またある程度知っているという者にも改めて知識を確認するという意味で読んでおいた方がいい。この2章で76ページが割かれているが、ここを読むだけでもこの本の値打ちはある。

第6章の「ネットワークコマンド編」もシステム管理者には随喜の章である。とかくネットワーク障害は対策が難しい。いったいどこがどうなってネットワークに不具合がおきているか、なかなかGUIだけではわかりにくい。こんなときコマンドを使ってコンピュータやネットワークの状態を調べることができる。ネットワーク管理者にも必携の書だ。「ネットワークコマンド編」には32のコマンドが解説され、65ページも費やされている。ネットワーク関係のコマンドは豊富なオプションを持つものが多く、そのオプションの解説も詳細でわかりやすい。ネットワーク管理者は中途半端なネットワーク管理の解説本を買うよりも、この本を買った方がいい。

特にこの序章「コマンドの基礎知識」は高等学校の教科「情報」の教員にもお勧めしたい。高等学校の教科「情報」ではGUIとCUIの特徴などを教えなければいけないが、CUIつまりキャラクタベース・ユーザー・インターフェースはコマンドプロンプトのことであり、CUIを授業で扱うときに必ず役に立つ。また実習プランの作成には、この本のリファレンス項目の中から生徒が興味を持ち、効果的な理解につながる課題を選ぶことができるだろう。

IMG_2551_mid_640_480

一般ユーザーでも自分のコンピュータを縦横無尽に使いこなしたいと思っているパワーユーザーや、コンピュータのトラブルに悩まされており解決したいと思っているユーザー、そして何よりもシステム管理者にとって「Windows コマンドプロンプトポケットリファレンス」は座右の書となるはずだ。またWindows8の開発も進んでいるようなので、筆者にはぜひWindows8も対象に含めた改訂版をタイムリーに出してもらいたい。

ネットワークに関するトラブルシューティングの実際(後編)

コメントする »

ネットワークのトラブルでクライアントPCからファイルサーバーの共有フォルダが見えなくなった、との連絡をうけ、自宅からアドバイスを出しながら担当者にトラブル対応をお願いしていた。「人災」の可能性を考えた俺は、ネットワークのトラブルがおこった時間にネットワークに関して何かした人がいないか調べてみてくれ、とお願いした。すると普段はネットワークに接続していないノートPCを繋いだ人がいることがわかり、調べるとIPアドレスが既存のクライアントマシンと重複していたことがわかった。そこでそのノートPCのIPアドレスを重複のないものに設定しなおしてもらった。

担当者からは「いったん復旧したように思えたのですが、しばらくしてまた使えなくなりました」との報告だった。担当者からはPCからサーバーへPingを試した結果や、実際にクライアントPCから共有フォルダのマッピングがどのように見えているのかをデジカメで撮影した画像などを送ってもらった。このあたりはメールで文章で説明されたり、電話で聞いてもなかなか実際のところがわかりにくい。写真なら一目瞭然だ。

クライアントPCからドメインコントローラーやファイルサーバーなどにPingが正常に届くことがわかっている。またファイルサーバーは他にもあって、クライアントPCのいくつかは他のファイルサーバーの共有フォルダを正しくマッピングしているものもある。「ネットワーク」を開くとドメインを示すアイコンは表示されるものの、ドメイン内にあるはずのサーバーなどコンピュータはごく一部を除いてアイコン表示されていない。こうした中途半端な状態はやっかいだ。担当者は「名前解決の問題ではないでしょうか」と言ってきた。一般ユーザーは「見えない」とか「つながらない」と言うが、管理者としては接続において何が問題なのかを具体的に洗い出さなければならない。IPレベルだけでなく、「名前解決」ができているかどうかは重要だ。

ネットワーク経路のスイッチをチェックしたが、どのスイッチも異常がないようだ。ドメインコントローラーをチェックしてみる。すると確かにネットワークの障害がおこった時間にARPエラーログが記録されている。サーバーを再起動し、テスト用のクライアントPCをサーバー室に持ち込み、ネットワークを切りはずしながらチェックをしようとしていたとき、もうひとつIPアドレスの重複がみつかった。そしてIPアドレスを設定しなおすと、ネットワークの障害は解消された。

結局ネットワーク上に同一IPアドレスのマシンが2台あったことでネットワークのトラブルがおこったことがわかった。原因はきちんとしたIPアドレスの管理ができていなかったことにある。固定IPでネットワークを構成するなら、台帳で正確にIPアドレス管理をするべきであるが、言うは易し行うは難しで今までにも何度かこうしたトラブルを経験している。

まず設定時に不注意で間違ったIPアドレスを設定してしまうことがある。特に大規模なPCの更新時などは、単純作業を繰り返すうちに注意力が散漫になり間違う可能性を防げない。仮に2台同じIPのマシンを設定してしまっても、同時に起動していなければそれぞれは正常に動作するのでわからない。

次に実験的に構築したマシンのIPアドレスを「とりあえず」適当なものに設定してしまうことがある。実験機であってもIPアドレスの管理をするべきなのだが、実験中は思考が実験に向いているのでどうしてもIPアドレスのようなレベルの低い部分については、とにかく使えるようにすることを考えてしまうので、どうしても管理がおろそかになる。そして実験機がうまく動けば、そのまま実運用環境につないでしまったりするので問題になる。こうしていつのまにかネットワーク上に管理上ありえないIPアドレスのマシンが増えていく。

コンピュータを更新した場合もIPアドレスの重複がおこる。古いマシンを新しいマシンに置き換えたとき、新しいマシンを以前のマシンを同じIPアドレスにすることが多い。このとき古いマシンを廃棄すれば問題ないのだが、往々にして古いマシンも用途によってはまだまだ使えるということで、使用頻度の小さいクライアントPCに転用したりしてしまう。このときIPアドレスをそのままにしてネットワークにつないでしまったりする。

ネットワーク上にIPアドレスの重複があったとき、その重複のあるPCだけでなくネットワーク全体、厳密にはブロードキャストドメインにトラブルを与える。

投稿者: Yoshio Matsumoto

2011年7月16日 7:52 AM

ネットワークに関するトラブルシューティングの実際(前編)

コメントする »

今日は職場でネットワークのトラブルが発生している。あいにく私は現地におらず、メールで連絡をもらった。「ファイルサーバーが見えなくなっています。策はありますか?」という連絡である。連絡をくれた担当者には少し前からActive Directoryの管理をまかせており、ネットワークの基本的な部分は理解しているが実務経験はまだ少ない。さて、どうアドバイスをするか。

俺が勤務する学校のシステム全体はWindows ServerとWindowsクライアントのクライアントサーバーであり、Active Directoryで管理されている。サーバーはドメインコントローラー、ファイルサーバー、その他何台かで構成されており、クライアントPCはWindows XP、Windows Vista、Windows 7が混在している。またネットワーク型のレーザープリンタが数台あり、Windows Serverでプリンタ共有になっており、Active Directoryで公開されている。インターネット接続はプロキシサーバー経由でWeb利用ができるようになっている。

トラブルシュートは実務経験を積むたいへん良い機会だ。俺は現地には行けないので、メールでアドバイスをしながら担当者が自力で解決できるように支援することにした。

まず現状を正しく報告させることにした。「ファイルサーバーが見えない」という報告だが、本校ではファイルサーバーの共有フォルダをWindowsのログインスクリプトでローカルPCのXやYにマッピングしている。一般ユーザーはファイルサーバーを利用するとき、自分のPCの「コンピュータ」を開くと、そこにXやYドライブが見えており、それを開くとファイルサーバーにアクセスするようになっている。「ファイルサーバーが見えない」ということは、おそらく「コンピュータ」のローカルドライブのマッピングができていない、という状況のようだ。担当者にもう少し詳細な情報を教えてくれ、とメールをした。

担当者からクライアントPCからネットワークを開いた画面を携帯で撮影したデータが送られてきた。「コンピュータ」にネットワークドライブのマッピングがない。また「ネットワーク」を開くとドメイン全体は表示されているが、ドメイン内のコンピュータが何も見えない状態になっている。

俺の今までの経験では、ネットワークにトラブルが発生したとき、誰かが何かをした「人災」であることが多い。一般ユーザーがLANケーブルを抜き差しして間違ってループ上にしてしまったとか、ネットワークプリンタの設定をいじってIPアドレスを変更したとか、持ち込みパソコンに勝手なIPアドレスを与えてネットワークに接続したとかである。そこでトラブルがおこった時間が重要になってくる。そしてその時間にネットワークに対して何かした人はいませんか、と聞くのである。多くの場合、本人は自分がネットワークに影響を与えたと思っていないので答えてはくれない。しかし全体に対して注意を喚起する意味でこうした問いかけは重要である。原因が判明してから「あなた、これ、あのときやったでしょ」と言うと、「ああ、そうだったかも」という答えが返ってくることが通常だ。こうした「人災」を少しずつなくしていくためにも、あるいはネットワーク障害の現状を説明するためにも、こうした全体への周知は必要だ。

コンピュータやネットワークのトラブルに限らず、何らかの故障に対応するときには、むやみに調べても効果はあがらない。ある程度原因を推理しながら調査することがいい。では今回のわかっている状況のなかで、トラブルの原因として考えられることは何だろう。次のような原因が想定できることを担当者にメールしてみる。

1.ファイルサーバー自体が故障のため機能しなくなっている。
2.クライアントPCからファイルサーバーに至るネットワークが物理的に途中で途切れている。
3.IPアドレスの重複などTCP/IPネットワークの問題がある。
4.経路上のスイッチなどネットワーク機器の不調。
5.名前解決ができなくなっている。
6.ログオンスクリプトが動かずネットワークドライブのマッピングができていない。

しばらくして担当者に電話で連絡すると、通常はネットワークにつないでいないノートパソコンをネットワークに繋いだ人がおり、そのIPアドレスが既存のデスクトップPCと重複していたことがわかったそうだ。そしてそのノートPCのIPアドレスを変更し、重複を回避したが、それでもネットワークは回復しないという。そこで俺は「そのノートPCがつないであるLANケーブルの先にあるスイッチングハブを見て欲しい。ランプの点き方が異常じゃないか。」と聞いた。すると案の定、スイッチのすべてのランプが点灯しっぱなしになっているとのことだった。そこでいったんスイッチの電源を落とし、しばらくしてから再投入を指示した。すると通常の点滅状態に復旧したようだ。

だがそれでもクライアントPCからファイルサーバーの共有フォルダは見えないという。他のスイッチも調べることを指示して今日の対策は終わった。(続く)

投稿者: Yoshio Matsumoto

2011年7月13日 4:38 PM

フォロー

Get every new post delivered to your Inbox.