Windows TIPS ディレクトリ

コマンドライン・ツール

更新日:2006/03/31

 サブディレクトリ
 コマンドライン・ツール
FAT→NTFSにファイル・システムを変換する
Windows NT系列のOSでは、アクセス管理機能を強化したNTFSファイル・システムを利用可能である。 / しかし古いコンピュータでは、従来ソフトウェアとの互換性のために、わざとFATボリュームが使われている場合がある。 / このような場合には、convertコマンドを使って、既存のファイルをそのままNTFSボリュームに変換することができる。
diruseコマンドでディスクの使用量を調べる
各ユーザーがどのくらいディスクを使用しているかや、システム内の各フォルダがどのくらい利用されているかを調べたい場合がある。 / フォルダ別のディスク使用量を調査するには、リソースキット・ツールに含まれるdiruseコマンドを使うとよい。 / SFU環境ではUNIXベースのduコマンドが利用できる。
ftpでネットワークの速度を測定する
ftpを使ってファイルを転送させ、その時間を測定すればネットワークの速度を測定することができる。 / 測定対象となるファイルはfsutilコマンドでコマンドで作成すると簡単である。オーバーヘッドを少なくするためには、圧縮しておくとよい。 / ftpコマンドが表示する測定結果では、1Kbyte=1000bytesで計算されているので注意が必要。
コンピュータ名を素早く調査する
同時に複数のリモート・コンピュータにログオンして作業していると、どのコンピュータにログオンしているかがすぐに分からないことがある。 / このような場合は、hostnameやipconfig、net configコマンドなどを使ってコンピュータの名前を表示させるとよい。 / GUIの場合は[システムのプロパティ]画面で確認することができる。
timeitコマンドでアプリケーションの実行時間を測定する
プログラムの性能を解析するには、プログラムの実行時間を測定する必要がある。 / リソースキット・ツールにはtimeit.exeという、アプリケーションの実行時間を測定するコマンドが用意されている。
クラッキングを手助けする“Rootkit”ツールを検出する
本格的なシステム・クラッキングでは、長期間にわたってシステムのセキュリティ・ホール調査などが行われる。 / こうしたクラッキングを効率的に行うためのツール集がRootkitで、さまざまなRootkitがアンダーグラウンドで流通している。 / 重要度の高いサーバなどでは、Rootkitが仕込まれていないかどうかを定期的に調査したほうがよい。 / Rootkit検出用の無償ツールが利用できる。
DNSサーバのキャッシュの内容を調査する
DNSサーバは、外部のDNSサーバに問い合わせた結果をDNSキャッシュに保存することで、無駄な外部サーバへの問い合わせを減らし、クライアントからの問い合わせにも高速に応答できる。 / DNSキャッシュの内容を確認するには、DNS管理コンソールで詳細設定を選択する。 / DNSキャッシュの内容をクリアするには、DNS管理コンソールかdnscmdコマンドを利用する。
起動時のWindowsロゴ表示を省略し、起動時間を短縮する
いうまでもなく、コンピュータの起動時間は短いほどよい。 / Windows XPでは、デフォルトで起動時に「Windows XPロゴ」が表示されるが、これを省略することで、起動時間を少しだけ短縮することができる。
リモート・デスクトップでコンソール・セッションに接続する
リモート・デスクトップ接続には、コンソール・セッションとリモート・セッションの2つがある。 / 物理コンソール上での作業をリモート・デスクトップ環境へ引き継いだり、その逆を行ったりするには、コンソール・セッションへ接続すればよい。 / コンソール・セッションへ接続するには、mstsc.exeコマンドに/consoleオプションを指定する。
findstrで正規表現を検索する
findコマンドでは固定的な文字列検索機能しか利用できない。 / findstrコマンドを利用すると、正規表現を使った柔軟な文字列検索が行える。 / findstrで利用できる正規表現はかなり基本的な機能しかサポートされていない。
Windowsネットワークのマスタ・ブラウザを調査する
Windowsネットワークでは、コンピュータの一覧をブラウズ・リストという情報として管理している。この管理を行うコンピュータをブラウザという。 / 通常はドメイン・コントローラがマスタ・ブラウザとなるが、場合によってはそのほかのコンピュータがマスタ・ブラウザとなることがある。 / 現在のマスタ・ブラウザやバックアップ・ブラウザの情報を調べるにはbrowstatコマンドを利用するとよい。
テキスト・ファイルの行末コードを変更する
テキスト形式は互換性が高いが、行末コードはOS環境によって異なることがある。 / MS-DOS形式では行末はCRとLF、Mac形式ではCRのみ、UNIX形式ではLFのみとなっている。 / 行末コードをDOS形式に変換するには、moreコマンドかInternet Explorerを使うことができる。
svchost.exeプロセスとは?
リッスンしているネットワーク・ポートを調べていると、svchost.exeというプロセスが所有者となっていることがよくある。/svchost.exeは、ネットワーク関連の基本的なサービスを起動するための親となるプロセスであり、いくつかのグループに分けてサービスを起動している。/scコマンドを使うと、サービスをコマンド・プロンプトから制御することができる。
systeminfoコマンドでシステムの情報を収集する
コンピュータを管理するためには、リモートからシステムの情報を収集できると便利である。 / systeminfoコマンドを使うと、システムの基本的な情報をリモートから収集することができる。 / forコマンドなどと組み合わせてネットワーク上のコンピュータを自動的にスキャンすることもできる。
dirコマンドでファイル名の一覧を取得する
ファイル名の一覧を取得するには、dir /bコマンドを利用する。 / ファイル名やフォルダ名だけを取得するには/adや/a-dオプションを利用する。 / dir /sコマンドでファイルを検索することができる。
不正な名前のファイルを削除する
何らかの拍子に不正な名前のファイルができてしまい、削除も名前変更もできなくなることがある。 / ファイル名の最後に「.」が付いていたり、デバイス名と同じ名前を持つファイルは、削除することができない。 / このようなファイルは、特殊なファイル名表記を利用して削除することができる。
コマンドラインからクリップボードへコピーする
コマンドの実行結果をクリップボードにコピーしたい場合は、いったんファイルに出力するか、コマンド・プロンプト上でコピー&ペーストを行うのが普通である。 / clipコマンドを使えば、標準入力の内容をテキストとして直接クリップボードにコピーすることができる。 / clipコマンドは、リモート・デスクトップ使用時にテキスト・ファイルを素早くコピーしたり、バッチ・ファイルの実行結果を返すためにも利用できる。
ディスク・デフラグをスケジュール実行する(Windows XP編)
Windows XPに付属のディスク・デフラグ・ツールにはスケジュール実行機能がない/しかしWindows XPから提供されるようになったコマンドライン版のdefragコマンドとタスク・スケジュール機能を組み合わせれば、デフラグのスケジュール実行が可能である。
大量のユーザー・アカウントを一括登録する
リソースキットのツールを使って、ユーザーやグループ・アカウントを一括登録する方法。
netstatの統計情報を活用する
netstatでは、TCP/IPプロトコルやネットワーク・インターフェイスの稼働状況を示す各種の統計情報値を表示することができる。 / ネットワークのトラブルシューティングのためには、これらの値も参考にするとよい。 / 正常なときの値や挙動と比べることにより、問題点を素早く見つけることができる。
ポートのリッスン状態を調査する
あるTCPのポートがリッスンされているかどうかを調べるにはtelnetで接続してみるとよい。 / netsh diagコマンドを使うと、Proxyやメール・サーバとの通信テストが簡単に行える。 / portqryコマンドを使うと、ポート・スキャンなど、より高機能な通信テストが行える。
nslookupの基本的な使い方(イントラネット編)
DNSサーバの動作状態を確認するにはnslookupコマンドを利用する。 / nslookupの引数にホスト名やIPアドレスを指定すると、該当するDNSレコードが表示される。 / nslookupの第2引数には、対象となるDNSサーバを指定することができる。
ノートPCのTCP/IP設定を簡単に切り替える方法
環境によっては、DHCPを使ったTCP/IPの自動設定を利用できない場面もある。 / この場合には、netshコマンドを利用して、設定内容をファイルに保存しておき、これをロードすることで、TCP/IP設定を復帰することができる。 / 複数の接続先で設定を切り替える場合には、設定ファイルを複数作っておき、それらを切り替えてロードすれば簡単である。
システムのブート情報ファイルBOOT.INIを編集する
Windows OSのブート情報はBOOT.INIというファイルに記述されている。 / BOOT.INIファイルはテキスト・ファイルなのでメモ帳で編集することができる。 / Windows XP以降のOSではbootcfg.exeというプログラムで編集することもできる。
時刻を手動で直ちに同期させる
異なるネットワーク環境間でのコンピュータの移動など、時刻をすぐに同期させたいことがある。 / 時刻の自動同期の間隔はデフォルトでは1週間である。 / GUIとコマンド・プロンプトで時刻同期をすぐに行う方法がある。
コマンド・プロンプトでイベント・ログを表示する
Windowsシステムに関する各種のイベントはイベント・ログに記録され、通常はイベント・ビューアを使って表示する。 / eventquery.vbsというスクリプトを使うと、イベント・ログの内容をコマンド・プロンプト上で表示させることができる。 / オプション指定により、リモート・マシンのログの表示や、指定された条件に合うログだけを抜き出して表示させたりできる。
NTPでネットワーク全体のマシンの時刻を合わせる
ネットワークで接続された複数のマシン間で共同作業を行うなら、各マシンが内蔵しているシステム・クロックを同期させておくことは重要である。更新日時をベースにしてファイルを操作したりする場合に、各マシン間で不整合が生じたりする可能性があるからだ。/Windowsシステムでは、net timeコマンドを使って他のマシンと時刻を同期させることができる。/Windows 2000/Windows XPでは、net time /setsntpコマンドを使って、SNTPサーバに同期させることができる。/Windows XPでは、さらにGUIのインターフェイスを使ってSNTPサーバを指定することができる。
ネットワークの診断ツールを活用する
ネットワークのトラブルシューティングのためには、ネットワークの設定やサーバとの通信の状態などを調査する必要がある。 / ネットワークの診断ツールを使うと、設定の確認や通信状態の調査が簡単に行える。 / netsh のdiagコマンドでも同様の診断を行うことができる。
オブジェクトを識別するSIDとは?
Windows NT系のOSでは、ユーザー・アカウントなどのオブジェクトはすべて、表に表示される名前ではなく、SIDという内部的な数値を使って管理されている。 / 通常、SIDがユーザーの目に触れることはないが、アカウントの削除やドメイン・コントローラへの接続トラブルなどの事態が発生すると、SIDがそのまま表示される場合がある。
名前解決のトラブルシューティング(DNSリゾルバ・キャッシュ編)
Windows 2000/XPにはDNSの問い合わせ結果をキャッシュするDNSリゾルバ・キャッシュ機能がある / リゾルバ・キャッシュが働くと、意図しない名前解決結果が得られることがあるので、トラブルシューティング時には強制的にフラッシュするとよい。 / フラッシュするにはipconfigコマンドを使う。
netコマンドの使い方
netコマンドはWindowsネットワークのトラブルシューティングには欠かせないツールである。 / telnetのようなコマンド・プロンプト環境しか利用できない場合には、netコマンドを使うとよい。 / netコマンドを使うと、ネットワークなどの状態を調査したり、設定を変更したり。
システム起動時の自動chkdskをスキップする
Windows NT系のOSでは、必要ならば、システムの起動時に自動的なchkdskを行うようになっている。/これをスキップするには、chkntfsコマンドを利用する。
巨大なサイズのファイルを簡単に作る方法
fsutilコマンドを使うと、ギガバイト・クラスの巨大なファイルを簡単に作成することができる。 / こうやって作成した巨大なファイルを使うと、システムのパフォーマンスやネットワークの性能測定、負荷テストなどが行える。 / FAT32からNTFSに変換する場合は、MFT用の予約領域を作成しておくとよい。
不正なDHCPサーバを見付ける
クライアント・コンピュータのTCP/IPの設定を行うためには、現在ではDHCPサービスを使うのが一般的である。 / 管理者が意図しないDHCPサーバが稼働していると、さまざまなネットワーク・トラブルの原因となる。 / 不正なDHCPサーバを見付けるためには、dhcplocコマンドを使うか、ネットワーク・パケットをキャプチャして解析する。
ディスクの内容を完全に消去する
ディスクを破棄したり、譲渡したりする場合には、あらかじめディスクの内容を消去しておかないと情報が漏えいする危険性がある。 / ファイルをごみ箱に捨てても、インデックスが削除されるだけで、データ本体を消去するわけではない。そのためファイルを復活させることもできる。 / データを完全に消去するためには、ディスク全体に渡ってデータを完全に上書きする必要がある。このためにはcipher /wコマンドを実行すればよい。
スクリプトで使うftpコマンド
ftpコマンドをスクリプト・ファイルと組み合わせて使えば、毎日の定期的なファイル転送処理などを簡単に実行できる。 / スクリプト・ファイルには、通常のftpコマンドをそのまま記述しておけばよい。 / インタラクティブなコマンドを利用する場合は、あらかじめプロンプトを無効にしておく。
ホスト名からIPアドレスを見つける方法
コンピュータ名からIPアドレスを求めることを名前解決という。Windowsネットワークでは、NetBIOS系とTCP/IP系の2種類の名前解決がある。 / NetBIOSにおける名前解決の結果を調べるにはNetBIOSのネーム・キャッシュの内容を調べるとよい。 / TCP/IPにおける名前解決の結果を調べるにはpingコマンドが便利である。
システムをリモートからシャットダウンする
システムが不安定になったり、応答がなくなったりした場合には、リモートからシャットダウンや再起動ができると便利である。 / リモートからシステムをシャットダウンしたい場合にはshutdown.exeコマンドを使う。GUI画面でも、コマンドラインでも利用できる。
システム移行のためにコンピュータに複数の名前を付ける
通常、NetBIOS名は1台のコンピュータにつき、1つしか定義することができない。 / システムの統廃合などのために、一時的に1台のコンピュータに複数の名前(NetBIOS名)を付けたいことがある。 / レジストリを操作することにより、コンピュータに対して別名を割り当てることができる。
nslookupの基本的な使い方(MXレコード編)
ドメインのメール・サーバの情報はMXレコードで定義されている。 / MXレコードの情報は、nslookup -type=mxで取得できる。
エラーを無視してファイルをコピーする方法 ―壊れかけたディスクからのファイルの救出―
エラーの発生したディスクからファイルを読み出すには、別のマシンにディスクを取り付けて読み出すとよい。 / ファイルのコピーには、エラーを無視してコピーすることができるxcopyコマンドを使うとよい。
ルーティング・テーブルを操作する
TCP/IPではルーティング・テーブルに基づいてIPパケットのルーティング処理を行っている。ルーティング・テーブルを表示するにはroute printコマンドを使う。 / ルート情報を追加するにはroute addコマンドを使う。 / ルート情報を削除するにはroute deleteコマンドを使い、デフォルト・ルートを削除するにはroute -fを使う。
ドメインにログオンしていないクライアントから共有資源にアクセスする
通常、ドメイン環境で提供されている共有資源にアクセスするには、ドメインにログオンする必要がある。 / しかし、クライアントがWindows NT/2000/XPなら、ローカル・アカウントでログオンしていても、接続時にユーザー名を別途指定することで、ドメイン上のユーザー・アカウントの資格情報で共有資源に接続できる。
デフォルト・ゲートウェイは1つのみ有効
デフォルト・ゲートウェイ指定は1つのみが有効である。 / 複数指定すると、最初のものが無効な場合にのみ、代替として利用される。 / 2つのデフォルト・ルートを使いたければ、ルーティング指定を明示的に行う必要がある。
LMHOSTSファイルの更新を即座に反映させる方法
LMHOSTSファイルを作成すると、WINSサーバが存在しない環境でもNetBIOS向けの名前解決が可能になる。 / このLMHOSTSファイルの内容を変更した場合、変更を反映させるため、通常ならコンピュータの再起動が必要になる。しかし、nbtstatコマンドを使用すると、再起動させずに、変更結果を即座に反映できる。
ドメイン一覧にコンピュータが表示されないようにする
サーバ・サービスがデフォルトでインストールされるWindows NT/2000/XPをドメインに追加すると、ドメイン一覧に必ずコンピュータが表示される。 / しかし管理者によっては、余計なコンピュータが一覧に表示されていると事故の元になるので隠してしまいたいと考えるかもしれない。 / 一覧への表示/非表示の切り替えは、net configコマンドで簡単に行える。
ttcpでネットワーク・パフォーマンスを測定する
ネットワークの性能を測定するためには、大量のパケットを送受信したり、巨大なファイルを転送して所要時間を測定したりしてみればよい / だがディスクI/Oなど、ネットワーク以外の影響を受けないようにしなければ、正確なパフォーマンスを測定することはできない。 / Windows XP/Server 2003では、ttcpというネットワークのパフォーマンス・テスト用のコマンドが用意されている。
ディスクのパーティション・テーブルを調査する
ディスクにパーティション・テーブルという、パーティションを管理するためのデータ領域が存在する。 / パーティション・テーブルの内容を表示させるには、diskmapコマンドを利用する。
ユーザー・アカウントのロックアウトを解除する
辞書攻撃などを悪用した不正侵入からシステムを守るには、一定回数以上ログオンに失敗したユーザーのアカウントをロックアウトする設定にしておく。 / しかし不正アクセスではない正規のユーザーでも、繰り返しログオンに失敗する場合がある。一度アカウントがロックアウトされてしまうと、その後正しいパスワードを入力してもログオンできず、ユーザーにはその原因が分からない。 / この場合には、管理者がユーザーのロックアウトを解除する必要がある。
pingでMTUサイズを調査する
ネットワークで送信可能なパケットの最大サイズをMTUという。IPパケットのサイズがMTUサイズを超えるとパケットの分割処理が行われる。これをIPフラグメンテーションという。 / pingの-fオプションを使うとIPパケットのDF bitがセットされ、IPフラグメンテーションが禁止される。 / データ・サイズを変えながらping -fを実行することにより、ネットワークのMTUサイズを調査することができる。
caclsコマンドでACLを編集する
コマンドラインでファイルやフォルダのACLを編集するにはcaclsコマンドを利用する。 / ACLの追加や置換、削除には、それぞれ/G、/P、/Rオプションを使用する。 / 既存のACLを残したまま編集するためには、/Eオプションを付ける必要がある。
Active DirectoryのUsers/Computersコンテナをリダイレクトする
ユーザーやコンピュータ・オブジェクトは、デフォルトではUsersやComputersコンテナの中に作成される。 / コンテナにはグループ・ポリシーを適用できないため、UsersやComputersコンテナのオブジェクトだけに適用させるのは簡単ではない。 / リダイレクト機能を利用すると、UsersとComputersコンテナを任意の組織単位に割り当て、グループ・ポリシーを適用させることができる。
tracertでネットワークの経路を調査する
tracertを使うと、目的のホストまでの途中で通過したルータのIPアドレスや、そのルータまでのパケットの応答時間を調べることができる。 / この値を調べることにより、指定されたホストまでのネットワークの経路やルーティングの状態、混雑の具合などが分かる。 / ただしtracertに応答しないホストも多く、その場合は応答時間は表示されない。
netcapコマンドでネットワーク・パケットをキャプチャする
ネットワークのトラブル・シューティングでは、パケットをキャプチャして解析すれば素早く問題を解決することができる。 / Windows XP Professionalでは、パケットをキャプチャするためのnetcapコマンドが利用できる。 / キャプチャしたパケットはServerに付属するネットワーク・モニタなどで解析することができる。
Active Directory用のDNSレコードを強制的に作成する方法
Active Directoryを利用するには、DNSサーバ上にActive Directory用の特別なレコードが必要になる / 何らかの事情により、Active Directoryの構築時にこれらのレコードが作成されていなければ、後から再作成させることができる。 / 手動でDNSサーバを再構成することもできるが、netコマンドを使って自動的に登録させるのが簡単でよい。
ハッシュ値を利用してファイルの同一性をチェックする
ハッシュ値を比較すれば、ファイルの同一性を確認できる。 / ダウンロード・サイトでは、ファイル同一性のチェック目的でハッシュ値を公開していることがある。 / 大量のファイルを持つディレクトリ同士を比較して、更新されたファイルを特定するのにもハッシュ値を使うと便利である。
pingでネットワークの速度を調査する
ネットワークの速度を大ざっぱに測定するには、pingコマンドを利用するとよい。 / pingはTCP/IPの基本ツールであり、どこでも利用できる可能性が高い。 / ただし誤差を少なくするためには、データ・サイズを大きくして測定するなどの注意が必要である。
“Error Code Lookup”ツールでエラー・コードから原因を探る
障害対策では、エラーを通知するダイアログや、ログ情報などに出力されるエラー番号から原因を調査しなければならない場合がある。 / しかしエラー番号だけでは、どこの何を検索したらよいのか途方に暮れることも多い。 / これに対しマイクロソフトは、Windowsや一部のサーバ製品などが発行するエラー番号から、関連する情報を検索できる無償ツールerr.exeを提供している。
Telnetサービスを起動する
Telnetサービスを使うと、コンピュータのリソースをリモートから使うことができる。TelnetではCUIのみとなるが、管理的な作業ならばこれでも十分に役に立つ/Telnetサービスはデフォルトでは起動していないので、利用する前にTelnetサービスを開始させておく必要がある。
現在ログオン中のユーザー名を調べる
トラブルシューティングなどでは、現在ログオン中のユーザー名を調べる必要がある。 / ユーザー名を調べるには、Windowsセキュリティ・ダイアログを見るのが簡単でよい。 / whoamiコマンドや環境変数を使う方法もある。 / Telnetのセッションはtlntadmnコマンドで調べる。
コントロール・パネル・アイテムをコマンドラインから呼び出す
コントロール・パネル・アイテムは、cpl形式のファイルとしてWindowsのシステム・フォルダに保存されている。 / 通常、コントロール・パネル・アイテムを実行するには、[スタート]メニューから[コントロール パネル]を表示させ、目的のアイテムを実行するが、頻繁に実行する場合には、手順が面倒だと感じる場合もある。/ cpl形式のファイルをコマンドラインから直接実行すれば、手早く目的のアイテムを事項したり、スクリプトからコントロール・パネル・アイテムを実行したりできるようになる。
MSDEをセットアップする方法
MSDEは、無償で利用できるSQL Server 2000互換のデータベース・エンジンであり、アプリケーションに組み込んで利用することを目的としている。 / MSDEをインストールするには、起動時にシステム管理アカウントsaのパスワードを指定する。 / 管理はosql.exeというコマンド・ラインのツールを使って行う。 / セットアップ後は、最新のService Packやセキュリティ修正プログラムを適用する。
使用中のIPアドレスを調査する
現在ネットワークで使用されているIPアドレスを調査するには、pingコマンドを使うのが一般的である。 / だが場合によってはpingに対する応答がブロックされていることもあるので、arpコマンドも使うとよい。 / forコマンドと組み合わせれば、簡単にLAN上のIPアドレスを列挙することができる。
コマンドラインから電源オフや休止を実行する
バッチ処理やリモート・アクセスしている状況で、コンピュータを再起動/終了したいことがある。 / GUIが利用できない状況で、コンピュータを休止状態にしたいことがある。 / コマンド・プロンプトからshutdownコマンドなどで電源関連のタスクを制御できる。
オープンしているファイルを調査する
ファイルを削除や移動しようとしても、使用中になっていて操作できないことがある。 / このような場合は、どのプロセスやユーザーがどのファイルをオープンしているかを調査できると便利である。 / openfilesというコマンドを使うと、使用中のファイルや共有リソースの一覧を調べることができる。
コマンドライン・リファレンスを素早く表示する
バッチ処理的な管理業務にはコマンドプロンプトが便利だが、コマンド名を覚えていないと使えない。 / コマンド一覧のヘルプを参照したくても、簡単に起動することはできない。 / 「ヘルプとサポート」からたどることもできるが、ステップ数が多く、見つけ出すのは困難だ。 / ヘルプ・ファイルのショートカットを作成すれば、素速くアクセスできる。
Telnetクライアントの使い方
ネットワーク・サービスのトラブルシューティングなどには、Telnetコマンドを使って直接サーバに接続してデバッグを行うと便利 / Telnetでサービスに接続する場合は、ポート名を指定して、直接目的のサービス・ポートに接続する / Telnet使用中にエスケープ文字を入力すると、コマンド・モードに移行する。ここでは漢字コードやローカル・エコー、ロギングなどの各種設定を行うことができる。
これだけは覚えておきたい、コマンド・プロンプトの使い方
システム管理やネットワークのトラブルシューティングなどでは、まだまだコマンド・プロンプト上で手動でコマンドを実行しなければならない場面が多い。 / コマンド・プロンプトを使いやすくするために、フォント・サイズやウィンドウ・サイズを調整して、なるべく画面を広くしておくとよい。 / コマンドの再入力や編集・再実行には、マウスによるドラッグ&ドロップや補完機能を活用する。 / 最低限覚えるべきコマンドとしては、cdとdirによるファイル名の表示、検索、moreによる内容確認、メモ帳による編集などがある。
フロッピー・ディスクの内容を仮想FDファイルに保存する
Virtual PC 2004やVirtual Server 2005では、物理的なフロッピー・ディスクだけでなく、仮想的なFDファイルも利用することができる。 / 実際のFDの内容を仮想FDファイルに変換しておくと、仮想PC環境での取り扱いが容易になる。 / 実際のFDから仮想FDファイルを作成するには、フリー・ソフトウェアのツールなどが利用できる。
日本語エラー・メッセージに対応する英語表記を調べる
日本語版製品のエラー・メッセージをTechNetなどで検索しても、解説ページを見つけられないことがある。 / これに対して、英語版製品のエラー・メッセージを検索すれば、豊富な情報が容易に得られることが多い。 / マイクロソフトのFTPサーバには、各国語の対訳メッセージのデータが用意されている。これを使えば、対応する英語メッセージを基にして、容易に情報を調査できる。
DHCPサーバの構成情報をバックアップ/移行する
DHCPサービスはネットワークにおける基本的なサービスであり、安定な運用は欠かせない。 / DHCPサービスの構成情報をバックアップしたり、リストアするには、dhcpeximというツールが利用できる。 / Windows Server 2003の場合は、netsh dhcp serverコマンドを利用する。
インターネット常時接続時の基本セキュリティ設定
追加投資不要で、Windows 2000の標準機能だけで行う基本セキュリティ設定法。インターネット常時接続環境でWindows 2000を使用する場合には、最低でもこの程度の防衛は必須。典型的なネットワーク構成を元に、設定法を具体的に解説する。
Windows Server 2003 SP1の自動更新をブロックする
Windows Server 2003 SP1は2005年4月に正式公開され、すでにダウンロード・サイトなどから入手できる。 / 2005年7月26日からは、自動更新サイトでの提供が始まる予定であり、この日を過ぎるとシステムに自動的にSP1が適用される。 / 検証作業が未了などの理由でSP1の適用を延期したい場合は、SP1のブロック・ツールを利用して、レジストリを設定する。 / このツールを利用しても、2006年3月30日を過ぎると自動的にSP1が適用される。
ドメイン名に対してIPアドレスを割り当てる
通常はWebサーバに対しては、wwwなどの名前をDNSのレコードとして定義する。 / ドメイン名に対して直接IPアドレスを割り当てると、URLなどの表記が短くなり、覚えやすくなる。 / これを実現するには、DNSのゾーン名に対して、IPアドレスを割り当てるAレコードを直接定義すればよい。
SQL Server 2000/MSDEのバージョンをチェックする
SQL Server 2000やMSDEにService Packやパッチを適用するには、インストールされているSQL Serverのバージョンを調査し、対応する修正プログラムを適用する必要がある。 / SQL Serverのバージョンを調べるにはosqlなどで接続して「select @@version」文を実行するか、sqlservr.exeファイルのバージョンを調べる。 / システムに複数のインスタンスがインストールされている場合は、インスタンス名を指定して接続、調査し、すべてのインスタンスに対して適切な修正プログラムを適用する。
dcgpofixでグループ・ポリシーをデフォルト状態に戻す
グループ・ポリシーを変更した結果、システムの動作が不安定になったり、システム障害の発生でグループ・ポリシー設定がおかしくなったりすることがある。 / このような場合はグループ・ポリシー設定を元に戻せばよいが、バックアップを取っていないと、復旧は簡単ではない。 / Windows Server 2003にはdcgpofixというコマンドがあり(Windows 2000ではrecreatedefpolコマンド)、Active Directory導入直後のデフォルトのグループ・ポリシー設定に戻すことができる。
caclsコマンドの出力の見方
コマンド・プロンプト上でACLの内容を操作/確認するにはcacls.exeコマンドが利用できる。 / 代表的なアクセス権はF、W、W、Cなどで表されるが、特殊なアクセス権の場合は個別に列挙される。 / フォルダの場合は適用先が(OI)や(CI)、(IO)という文字列で表される。
Windowsファイアウォールのリモート管理を有効にする
Windowsファイアウォールを有効にすると、外部からのアクセスが一切禁止され、管理者ですらコンピュータの状態を調査できなくなる。 / Windowsファイアウォールのリモート管理モードを有効にすると、管理用のポートがいくつかオープンされ、管理ツールなどでリモート操作できるようになる。 / リモート管理モードは、グループ・ポリシーで設定するとよい。 / リモート管理モードを利用する場合は、必ずスコープも設定すること。
リモート管理機能のスコープ設定に注意
リモート管理機能のデフォルトのスコープは「*」であり、すべてのIPアドレスからの要求を受け付ける。 / リモート管理機能を利用する場合は、必ずスコープも設定しておかないと危険である。 / スコープには、LocalSubNetと組織内部で使用しているプライベートIPアドレスを指定しておくとよい。
XP SP2のZoneIdとは?
XP SP2のIE6では、インターネット・ゾーンからダウンロードしたファイルを保存するとき、ZoneIdというセキュリティ情報を付加する。 / XP SP2では、ZoneId情報を持つファイルを実行しようとすると、実行してもよいかどうかをユーザーに問い合わせる。 / ZoneIdはNTFSのストリームとして保存されているので、非NTFSファイル・システムにコピーしたり、ストリームを理解しないアプリケーションで処理すると、ZoneId情報が欠落することがある。
ディスクのボリューム・サイズを拡張する
ディスクを利用するには、あらかじめパーティションやボリュームを作成するフォーマット操作を行うが、1度行うと、以後は簡単にサイズを変更することはできない。 / diskpartコマンドを利用すると、ボリュームの直後に空き領域がある場合に限り、そのボリュームを拡大することができる。 / パーティション・サイズを変更する操作は確認なしですぐに実行されるため、十分注意して実行する必要がある。
nslookupの基本的な使い方(SOAレコード編)
ドメインの起点となる情報はSOAレコードで定義されている。 / SOAレコードの情報は、nslookup -type=soaで取得できる。
特定のレジストリ・キー以下を素早くバックアップする
レジストリに間違って不正なデータを書き込むと、システムに重大な影響が及ぶ場合がある。 / レジストリを変更するときには、念のため変更前の状態をバックアップしておくとよいが、レジストリ全体をバックアップするのは面倒だと感じることもある。 / reg saveやreg restoreコマンドを使えば、一部のレジストリ・キーの値だけをバックアップ/リストアすることができる。
dirコマンドで共有フォルダの空き容量を調べる
ディスクの空き容量を知るには、エクスプローラで該当するドライブを選択すれば、ステータス・バー上に表示される。 / 共有フォルダの場合は、いったんローカルのドライブにマップすれば、空き容量が表示される。 / dirコマンドを使えば、共有フォルダをマップしなくても空き容量を知ることができる。
pingでネットワーク・トラブルの原因を調査する
pingはTCP/IPにおける最も基本的で、かつ重要なコマンドである。pingが通るかどうかで相手先ノードが稼働しているかどうか、そこまでの通信経路が正しいかどうかを検査することができる。/pingに応答すれば、そのホストは正常に動作しており、そこまでのネットワークのルーティングが正しく設定されているということが分かる。/ネットワークの到達可能性を調べるには、まずはローカルのネットワーク上のホストから始め、順次遠くのホストへとping先を変えながら調べるようにする。
XP SP2のファイアウォールでリモート管理を有効にする
Windows XP SP2では、デフォルトでファイアウォールが有効になり、外部からはアクセスできなくなっている。 / リモートからコンピュータを管理するためには、いくつかのポートをオープンにしなければならない。 / リモート管理するためには、ファイル共有とMS-RPCポートをオープンにすればよい。
nslookupでDNSのゾーン転送機能をテストする
あるDNSゾーンを定義する場合、負荷分散や耐障害性の向上のために、1つのゾーンに対して複数のDNSサーバを用意することがある。 / 複数のDNSサーバが同じ情報を共有できるように、お互いの持つ情報を「ゾーン転送」という機能で複製する。 / セキュリティのためには、ゾーン転送はDNSサーバ間だけに限定しておくべきである。 / ゾーン転送の動作をチェックするにはnslookupコマンドを利用する。
pathpingでネットワークの経路を調査する
pathpingは、ネットワーク・ルートの到達性や品質などを調査するためのコマンドである。 / pathpingを実行すると、tracertのように、まず経路上にあるルータのIPアドレスが表示される。 / 次に、各ルータまで多数のパケットを送信し、そのRTT(応答時間)や喪失率などの情報が表示される。
イベント・ログに任意の文字列を出力する
バッチ・ファイルやWSHを使って作成したタスクから、Windows OS標準のイベント・ログへ出力することにより、タスクの実行結果やエラーなどを統一的に管理することができる。 / WSHでイベント・ログへ出力するためには、WshShellオブジェクトのLogEventメソッドを利用する。 / コマンドラインで出力するにはEventcreateやLogEventコマンドを利用する。
「コンピュータの説明」の付け方
コンピュータにはホスト名を付ける必要があるが、これだけではその所有者や機種などを簡単に知ることはできない。 / さらに「コンピュータの説明」を付けておくと、エクスプローラなどで一覧表示した場合に、ホスト名と同時に説明が表示されるので、識別しやすくなる。 / コンピュータの説明を付けるには、GUIで行う方法とコマンド・プロンプトから行う方法があるが、GUIによる方法はOSごとに少しずつ異なっている。
Windows XP SP2のWindows Update/自動更新での適用を一時的に保留する
XP SP2は、展開前に既存環境との互換性を十分テストする必要がある。 / しかしWindows Updateや自動更新機能により、エンドユーザーの簡単な操作でXP SP2が適用できてしまう。 / このためマイクロソフトは、管理者が検証を終えるまでこれらでのXP SP2の適用を禁止するしくみを作り、ツールを公開した。
Windows OSのTCP/IP設定をリセットする
TCP/IPのパラメータをリセットするには、レジストリの値を元に戻したり、削除したりする必要がある。 / このためには、一度TCP/IPプロトコルをアンインストールしてから再インストールするのが簡単であるが、Windows XPやWindows Server 2003では、アンインストールすることはできない。 / 代わりにnetshのサブコマンドを利用して、TCP/IP関連のパラメータをリセットすることができる。
FTPの標準ポート番号を変更する
セキュリティ対策や複数のFTPサイトのホスティングのために、標準のFTPポート番号を変更することができる。 / エクスプローラでアクセスする場合は、ポート番号を明示的に指定する。 / ftpコマンドの場合は、openコマンドでポート番号を指定する。 / ファイアウォールを利用している場合は、パッシブ・モードにするなどの対策が必要になる。
共有ファイルを現在使用しているユーザーを特定する方法
ネットワーク経由でサーバ上のファイルをアクセスしていると、複数のユーザーが同じファイルを開こうとして共有違反が発生することがある。 / これを解決するには最初にオープンしたユーザーがファイルをクローズすればよいが、実際にはすでに終了したはずのプロセスがファイルをロックしていることもある。 / このような場合は、だれがファイルをオープンしているかをファイル・サーバ上で調べ、必要ならば強制的にファイルをクローズすればよい。
IPアドレスからホスト名を見つける方法
IPアドレスの衝突などのトラブルが発生した場合は、そのIPアドレスを使用しているホストやユーザーを特定しなければならない。/Windows系OSでIPアドレスからホスト名を求めるためには、nbtstatコマンドを活用するとよい。
バイナリ・ファイルのバージョンを調べる
システムにインストールされているファイルの細かいバージョンを知りたい場合がある。 / そのためにはエクスプローラでファイルの[プロパティ]情報を表示させるとよい。 / Support Toolsに含まれるfileverというコマンドを使えば、コマンドラインで簡単に調査することができる。
コマンド・プロンプトでレジストリを操作する
CUIベースのレジストリ操作ツールを利用することにより、定型的な処理や多数のリモート・マシンのメンテナンスなどが容易になる。 / Windows 2000用のCUIベースのツールはサポート・ツールに含まれている。
安全性の高いランダムなパスワードを生成し、パスワードを変更する
パスワードは、簡単に類推できない、できるだけランダム性の高い文字列の方が安全性が高い。しかしランダムな文字列を考えるのは苦痛である。/「net user」コマンドの隠しオプションである「/random」を使えば、ランダムなパスワードを生成し、これを割り当てることが可能である。
タスク・スケジューラをコマンド・プロンプトから制御する
Windows NTでタスクを管理するにはat.exeコマンドを利用していたが、Windows 2000以降ではGUIの[タスク]管理ツールも利用可能になった。 / Windows XP/Windows Server 2003では、at.exeから機能が向上したschtasks.exeコマンドが利用可能になった。 / at.exeで作成したタスクを[タスク]管理ツールやschtasks.exeで変更すると、at.exeでは管理できなくなる。
UNIXからTelnetサービスに接続できない
Telnetサービスを使うと、コンピュータのリソースをリモートから使うことができる。TelnetではCUIのみとなるが、管理的な作業ならばこれでも十分に役に立つ/ただしWindows 2000のTelnetサービスのデフォルト認証方式はNTLM認証という特殊な方式なので、UNIX上のTelnetクライアントなどから接続するときは、これを通常のLogin認証に変更しないと接続できない。
Active Directoryのデータベースを強制的に複製する
Active Directoryデータベースでは、同時に複数の管理者が異なるDC上でオブジェクトを更新することができる。 / データベースの変更は、あらかじめ決められたスケジュールに基づいてほかのDCへ伝達されるので、全DCに反映されるまでにいくらか時間がかかる。 / 複製を直ちに行うためには、[Active Directoryサイトとサービス]管理ツールかrepadminツールを使うとよい。
xcopyでファイルをバックアップする
xcopyコマンドを使うと、フォルダ全体をコピーすることができる。 / バッチ・ファイルとタスク・スケジューラを組み合わせると、簡単なバックアップ・システムにすることができる。 / xcopyでコピーしたくないファイルやフォルダがある場合は、コピー除外リストを利用するとよい。
IPルーティングを有効にする方法(レジストリ設定編)
1台のPCに複数のネットワーク・インターフェイスを装着すれば、IPルータとして利用することができる。 / Windows OSではデフォルトでIPルーティング機能が無効になっている。だがレジストリを変更するか、サーバOSに付属のGUIツールを使って設定を変更すれば、IPルーティングを有効にすることができる。
リモート・コンピュータの使用者を特定する
あるコンピュータの使用者を特定するには、リモートから接続して、ユーザー・プロファイル・フォルダの名前を調べるという方法がある。 / ユーザー・プロファイル・フォルダへは、\\コンピュータ名\C$\Documents and Settingsというパス表記を使ってアクセスすることができる。
シャドウ・コピーでファイルを自動バックアップする(サーバ編)
Windows Server 2003の共有フォルダのシャドウ・コピー機能を利用すると、削除されたファイルを復活させたり、過去のバージョンを取り出したりできる。 / 定期的にファイル・システムのスナップショットを作成することにより、その時点の状態を再現することができる。 / 1ドライブ当たり、最大64個のスナップショットを保存することができる。 / スナップショットはディスクの空き領域に保存されるため、この機能を有効にしても、システムにはほとんど影響を与えない。
WSHスクリプト・コードを暗号化する
スクリプト言語によるプログラミングには簡易である反面、ソース・コードがエンドユーザに露出してしまう、コードの改変が可能である、などの問題も存在する。 / しかし、フリーで利用可能なScript Encoderを利用することで、スクリプトコードを暗号化し、ユーザーの目から隠ぺいすることができる。
tftpサービスを起動する
tftpは、UDPを使った軽量なファイル転送プロトコルである。 / Windowsでは、RISやPXEサービスといった、ネットワーク・ブート環境で利用される。 / Windows Server OSにはtftpのサーバ・プログラムtftpd.exeが用意されているので、これを使ってtftpサーバを構築できる。
netstatでリッスンしているプロセスを特定する
ネットワーク・サービスは特定のTCPやUDPのポートを使ってリッスン(待ち受け)している。 / ファイアウォールの設定やネットワーク管理などを行うためには、どのサービスやプロセスがどのポートを使用しているかを正確に把握する必要がある。 / あるポートを使用しているサービスを特定するには、サービスを1つずつ止めながらnetstatコマンドを実行して、ポートがリッスン状態でなくなるのを調べればよい。
netstatコマンドを使いこなす
netstatは、TCP/IPにおける通信の状態を調査するために使われる、最も基本的なコマンドである。 / 引数なしでnetstatを起動すると、現在アクティブなTCPコネクションに関するIPアドレスやポート番号などの情報が表示される。 / -aオプションを付けると、現在待ち受け状態にあるTCPやUDPのポートの一覧が表示される。
ネットワークのルーティングは双方向で設定する
ルータはIPパケットのあて先IPアドレスのみを見てルーティング処理を行っている。 / ルータに片方向のルーティング情報しか設定されていないと、パケットは相手には届くが、戻ってくることができない。 / ルーティング情報をセットする場合は、片方向だけでなく、逆方向からも到達できるように、経路途中のルータに設定しておく必要がある。
リモートから「リモート デスクトップ」を許可する
リモート・デスクトップ接続を利用するためには、あらかじめコンソール画面で設定を行っておかなければならない。 / だがリモートからレジストリを操作すれば、コンソールで作業を行わなくても、リモート・デスクトップ接続を有効にすることができる。 / グループ・ポリシーを使えば、複数のコンピュータのリモート・デスクトップ接続をまとめて制御することができる。
gpupdateでグループ・ポリシーの適用を強制する
グループ・ポリシーを設定しても、すぐにクライアントには伝達されない。 / グループ・ポリシーをすぐに適用したければgpupdateコマンドを利用するとよい。 / gpupdate /forceコマンドを使うと、現在の状態にかかわらず、グループ・ポリシーを強制的に再適用させることができる。
ICMPリダイレクト使用時のファイアウォール設定に注意
例外的なルート情報を追加するには、各クライアント・コンピュータ上で作業をする必要があり、面倒である。 / だがICMPリダイレクト・メッセージを受信すると、動的なルーティング・エントリが作成され、一時的にルーティング情報が利用可能になるので、これを利用するとよい。 / Windowsファイアウォールのデフォルト設定では、ICMPリダイレクト・メッセージの受信が拒否されるようになっている。 / ICMPリダイレクトの受信を許可するには、ファイアウォールの設定を変更する。
Active DirectoryのFSMO役割を担当するサーバを調査する(コマンド・プロンプト編)
Active Directoryのドメイン・コントローラ(DC)には、FSMOと呼ばれる、5つの特別な役割がある。FSMOはドメインごとにどれか1台のDC上でのみ実行され、ほかの機能のように、すべてのDC上で実行されるわけではない。 / Active Directoryの可用性を高めるためには、FSMOを適切に配置しなければならない。 / FSMOの役割がどのDC上で実行されているかを確認するためには、ntdsutilやdumpfsmos、netdomといったコマンドが利用できる。
DNSサーバをコマンド・プロンプトから制御する
サポート・ツールに含まれているdnscmd.exeを使えば、DNSサーバをコマンド・プロンプトから制御できる。 / DNSサーバの状態や構成の調査、レコードの追加/削除などが行える。 / スクリプトと組み合わせると、大量のレコードを素早く追加したり、削除したりすることができる。


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間