WindowsはLinuxと違い、OSやプログラムの状態を確認できるツールが少ない。
プログラム開発や保守サポートで役に立つマイクロソフト純正のツールを紹介します。
非常に役に立つので、最初からWindowsに標準ツールとしてインストールしていて欲しいですね。
Windows Sysinternalsユーティリティ とは
「Sysinternals」という単語を聞いたことがなくても、Process ExplorerやProcess Monitorなら聞いことがある人がいるでしょう。
これらはすべて「Windows Sysinternalsユーティリティ」に含まれるツールです。
SysinternalsユーティリティはWindowsの診断、トラブルシューティング、最適化に役立つツールの総称で、Microsoft から無償提供されています。
Windows Sysinternalsのインストール
Microsoft Storeからインストールする方法とマイクロソフトの公式サイトからダウンロードする方法があります。
Microsoft Storeでインストール
Windows の「Microsoft Store」を起動します。
「Sysinternals」で検索し、「入手」ボタンを押すとインストールされます。
以下のように全ツールが、[スタート]メニューに登録されるので、気になる人は次にダウンロードして使う方法を実施してください。
この状態でもアンインストールすれば、きれいに元に戻ります。
MSのダウンロードサイトからインストール
Sysinternals Utilities の公式サイトにアクセスします。
Sysinternals Utilities Index(MS公式)
「Sysinternals Suite」をクリックすると「SysinternalsSuite.zip」ファイルがダウンロードされます。
zipファイルにすべてのツールが含まれています。
インストールする必要はありません。(インストーラがありません)
zipを解凍し、適当なディレクトリにコピーしましょう。
私は、toolディレクトリを作成して利用しています。
C:\tool\SysinternalsSuite
コマンドプロンプト(CMD)から実行するツールがあるので、短いフォルダ名でかつ空白(スペース)を含まない名前が使い勝手がよい。
主要ツール
いろいろな種類のツールが70個以上あります。
経験が浅いうちは、何に使うのだろうと思うことが多いですが、とりあえず覚えておいたほうがいいツールを紹介します。
その他のツールは、困ったときに探して試してみるといいですね。
32ビット版と64ビット版がありますが、機能は同じです。
xxxx64.exe と後ろに 「64」が付いているツールは 64ビットです。
Sysinternals Utilities Index(MS公式)
プロセス エクスプローラー(procexp.exe)
プロセス エクスプローラーで、どのプログラムが特定のファイルまたはディレクトリを開いているのかを確認できます。
上側にプロセス一覧、下側に選択したプロセスが使っているDLLやファイルが表示されます。
ファイルを掴んでいるプロセスを確認できます。
あと意図しないファイルを使っているなども分かります。
TCPView TCP/IP通信の状態を表示
標準のnetstatコマンドより詳しくTCP/IP通信の状態を表示するツール
TCPView は、ローカルおよびリモート アドレス、TCP 接続の状態などシステム上のすべてのTCPおよびUDPの詳細な一覧を表示
RDCMan リモートデスクトップ接続の管理
複数のリモートデスクトップ接続を一元管理するユーティリティ
「Remote Desktop Connection Manager」(RDCMan)は、複数の接続設定をグルーピングし、階層管理できるほか、グループ単位での接続や切断も可能で、大量の端末をリモート管理する用途に便利
PsPing ネットワークコマンド(pingの上位互換)
Pingコマンドよりも高度なユーティリティーです。
以下のアットマークITの記事を参照ください。
Pingよりも高機能! ネットワーク管理者のための「PsPing」活用法
Pingよりも高機能!ネットワーク管理者のための「PsPing」活用法【アットマークIT(公式)】
Active Directory関連ツール
AdExplorer:Active Directoryのビューアおよびエディタ
AdInsight: Active Directoryクライアントアプリケーションのトラブルシューティングを目的としたLDAPリアルタイムモニタリングツール
AdRestore: 削除されたActive Directoryオブジェクトを復元するためのツール
書籍「Windows Sysinternals徹底解説」
Sysinternalsのツールは、1つずつが高機能なので「Windows Sysinternals徹底解説」という書籍が販売されています。
目次は以下になります。
購入する場合は、Amazonで試し読みできるので、レベルが合うか確認したほうがいいです。
レベルアップのために購入するのは「アリ」です。
あとkindleの表示は、図が多いのでキツイと思います。
——————————–
■目次
パート I: 作業の開始
第 1 章 Sysinternals ユーティリティの概要
第 2 章 Windows コアの概念
パート 2: 使用ガイド
第 3 章 プロセス エクスプローラー
第 4 章 自動実行
第 5 章 プロセス モニター
第 6 章 ProcDump
第 7 章 PsTools
第 8 章 プロセスユーティリティと診断ユーティリティ
第 9 章 セキュリティ ユーティリティ
第 10 章 Active Directory ユーティリティ
第 11 章 デスクトップ ユーティリティ
第 12 章 ファイル ユーティリティ
第 13 章 ディスク ユーティリティ
第 14 章 ネットワークおよび通信ユーティリティ
第 15 章 システム情報ユーティリティ
第 16 章 その他のユーティリティ
パート III: トラブルシューティング — “原因不明のケース…
第 17 章 エラー メッセージ
第 18 章 クラッシュ
第 19 章 ハングとパフォーマンスの低下
第 20 章 マルウェア
第 21 章 システムの動作について
第 22 章 開発者向けトラブルシューティング
——————————–
これを全部理解できると相当な実力が付きます。
トラブルシューティングのプロに慣れますね。
私は、Windows Serverで動作するミドルウェアソフトの開発時に「インサイド Windows」で勉強しました。
書籍「インサイドWindows」
合わせて読むとレベルアップできる書籍を紹介します。これを読むと書籍「Windows Sysinternals徹底解説」は不要かも
私は、十数年前にC++言語で開発するミドルウェアソフトの開発時に、書籍「インサイド Windows」の初版の「Inside Windows NT」を読みました。
マルチスレッドで高速性が重要なプログラムだったので、Windows OSの仕組みを知っておく必要がありました。
この本は、Windowsのメモリ管理、プロセス・スレッド管理、I/Oなどが学べる良書です。
昔は、上下巻ではなく1冊だったような気がします。仮想化などが増えていますね。
ちなみに「Windows NT」は、今のWindows Serverの初期バージョンです。
OS自体が不安定で苦労しました。→ 勉強せざるを得なかった。
C言語やC++言語などでネイティブプログラムを開発する人は絶対読んでおいたほうがいい本です。
技術の幅が広がります。
Windowsの癖やLinuxとの違いなど。なんでWindowsはこういう処理が遅いかなど。
個人購入でお金が厳しい場合は、中古や古い版でも役に立ちます。
1万円でスキルアップできれば高くはないです。(上巻だけでいいです)
事前に知っていれば、無駄な残業も減ります。
最後に
Windows上でのC言語やC++言語などでネイティブプログラム開発は、LinuxなどのOSと比べるとOSやプログラムの状態をコマンドなどで確認しずらいので苦労します。
今回紹介した「Windows Sysinternals」のツール群が役に立ちます。