Windows Sysinternalsを再発掘!

こんにちは。KENTEM 第1開発部の森田です。

私はKENTEMのデスクトップアプリ開発に携わっていますが、
最近、Windows Sysinternalsに含まれるツールにお世話になることがありました。
Windowsアプリを開発されている方なら一度はいずれかのツールに触れたことがあるかもしれません。
私も必要に応じて最低限、若しくは先輩に紹介されて部分的に使っている状況でしたが、 改めてWindows Sysinternalsを眺めてみたのでご紹介します。

Windows Sysinternalsって?

マイクロソフト社が提供する無償のユーティリティツール群です。
幅広い問題解決の為、100個近いツールが含まれており
トラブルシューティングに役立つシステムの動きの解析・監視、
生産性を上げる為のお役立ちツールが揃っています。

導入・実行方法

以下のマイクロソフトサイトからフル・個別でダウンロードすることができます。
https://learn.microsoft.com/ja-jp/sysinternals/downloads/

また、把握していなかったですがダウンロードせずとも以下のサイトからセットアップなしで実行することができます。
エクスプローラーに下記URLを貼り付けてEnter…だけでも起動できるようですね。(知らなかった~)
https://live.sysinternals.com/

私は手元に持っておきたい人間なので、フルでダウンロードしてから使っています。
大量のツールが含まれるので使い道・使い方は個別に見ていくしかありません。
基本的にはそのままEXEファイルを実行すれば起動できますが、コマンドプロンプトで実行するアプリケーションも含まれています。

便利ツール

Windows Sysinternalsに含まれる、今まで使っていた、再発掘して見つけて便利なツールを幾つか簡単に紹介します。

Autoruns

OS起動時やユーザーログオン時に自動で起動されるアプリケーションの一覧を表示するツールです。
パソコンは不思議なもので、使用期間が長くなるにつれ段々起動が重くなりますよね…。
そんなときに便利なのが、Autorunsです。
起動してみると表示されるプログラムの数に驚きを隠せません…。
そりゃ重たくなりますよね。
このツール上からむやみに削除することは推奨できませんが、現状の把握にとても良いかと思います。

Autorns実行時

Process Monitor

ファイル、レジストリ、プロセススレッド の挙動をリアルタイム表示してくれるツールです。
私はアプリケーションがどのファイルをどの順序で読み込むか確認する為に使っています。
想定通りにアプリケーションが動いてくれないときや、自PCでは動くけれど、他のPCでは動かない…などのケースで役立っています。
この辺りを可視化して解析できるかは、非常に重要ですね。

Process MonitorでExcel起動時を監視

ListDLLs

Process Monitorと同じく、プロセスが使用しているDLLファイルを表示してくれるコマンドラインツールです。
機能的に限定的な面もありますがProcess Monitorよりも気軽に使えるので、こちらの使い方も把握したいなと思いました。

基本的な使い方としましては、以下の流れになります。
1. チェックしたいプロセスを起動
2.コマンドプロンプトを起動
3.ListDlls.exeとプロセスを指定して実行

起動方法
実行結果(Excelが使用しているDLL)

オプション引数などは公式ページをご確認ください。 learn.microsoft.com

ZoomIt

画面の拡大表示やちょっとした編集ができるツールです。
以前はプレゼン時に使用していましたが、
コロナ禍以降、リモートの打ち合わせなどが増えた昨今、画面越しの相手への説明で使用する場面が増えてきました。

下記画像はZoomItで画面を拡大表示した上で、矩形、直線、テキストを追記したところです。
(Escキーで解除すると消えます。)
画面越しでもここまで説明を加えることができれば、確実に相手に伝わりますね!

幾つかキー操作を覚える必要がありますが、リモート打ち合わせのときに活躍します。

ZoomIt使用例

ショートカットキーについては公式ページをご確認ください。 learn.microsoft.com

まとめ

今回は私自身が使いそうなツールを中心にご紹介しましたが、
いずれのツールも知っているか、使ったことがあるかで業務効率に差が出てしまいそうだと思いました。
面白そうだとは思いつつ、勉強不足で紹介できない…というツールも幾つかありましたので、 いつの日か紹介できるように追加調査しておきます。
また、Windows Sysinternals解説用の書籍も出版されているようですね(!)
把握できていないものが多いですが実に奥深いのだなと感じました。
そして、このようなツールが無料で使えることは大変ありがたいです。

https://www.amazon.co.jp/Windows-Sysinternals%E5%BE%B9%E5%BA%95%E8%A7%A3%E8%AA%AC-%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E9%96%A2%E9%80%A3%E6%9B%B8-Mark-Russinovich-ebook/dp/B075DBQR9L/ref=sr_1_1?crid=LX69BFYB5MZ6&keywords=Windows+Sysinternals&qid=1697504926&sprefix=windows+sysinternals%2Caps%2C193&sr=8-1www.amazon.co.jp

おわりに

開発者の仕事は第1にコーディング…なのかもしれませんが、 トラブルが発生した際に、冷静・迅速に対応できるノウハウも広く身に着けたいものです。

KENTEMでは、様々な拠点でエンジニアを大募集しています!
建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。
hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co hrmos.co