Chocolatey を使用した監査ソフトウェア

投稿者: Dan Franciscus 投稿日: 2019年9月27

デスクトップやサーバーにどのソフトウェアがインストールされているかを把握しておくことは重要であり、システム管理者にとっては常識です。インストール日、バージョン、インストールした人などの情報が必要です。こういったインベントリ情報は、どれを新しいバージョンにアップグレードする必要があるのかを確認するのにも役立ちます。Windows では、デフォルトでこれらの情報の一部を取得できますが、すべてではありません。

ソフトウェアの詳細なインベントリ情報を得るのに、Chocolatey を利用することができます。私見では、Chocolatey のパワーは CLI(コマンドラインインタフェース)にあります。このブログでは、Chocolatey を使って Windows マシンにインストールされているソフトウェアを監査する方法を説明したいと思います。

Chocolatey パッケージの [プログラムと機能] を表示

Chocolatey はパッケージを Windows とは別に管理します。これは初心者にとって非常に重要な概念です。Chocolatey でインストールするパッケージは通常、[プログラムと機能] に表示されますが、すべてがそうとは限りません。Chocolatey を使わずにインストールしたものは、デフォルトでは表示されません。いったん Chocolatey を使うようにしたら、Chocolatey 以外ではソフトウェアをインストールしないようにすることが大切です。そうしないと、監査とアップグレードが難しくなります。

ソフトウェアの中には、[プログラムと機能] に表示されないものもあります。実際にはシステムに「インストール」されていないからです。典型的な例は、単一の実行可能ファイルのみで構成される端末ソフトウェアである PuTTY です。PuTTY は、インストーラを走らせなくても、ただダウンロードして実行できます。では、どうすれば、それらを [プログラムと機能] に表示することができるでしょうか?Chocolatey を使います。

次のように設定すると、すべての Chocolatey パッケージが [プログラムと機能] に表示されます。

choco feature enable -n showAllPackagesInProgramsAndFeatures

PuTTY も、私の Windows 10 コンピュータに表示されます

putty

パッケージ監査情報の表示

私が重宝してよく使うコマンドの1つは、choco list です。システムにインストールされているパッケージを表示できるだけでなく、リポジトリにある利用可能なパッケージも表示できます。便利なパラメータとして、インストール時間、インストールしたユーザー、Active Directory ドメイン、ソフトウェアバージョンなどといった詳細な情報を提供する -audit があります。

PS C:\> choco list -lo --audit

Chocolatey v0.10.11 Business

7zip 18.5 User:dfrancis-adm Domain:MYCOMP Original User:dfrancis-adm InstallDateUtc:2018-05-03 20:55:12Z

7zip.install 18.5 User:dfrancis-adm Domain:MYCOMP Original User:dfrancis-adm InstallDateUtc:2018-05-03 20:55:12Z

adobe-acrobat-xi-pro 11.0.00 User:admin Domain:DOMAIN Original User:hermes InstallDateUtc:2018-04-18 10:59:12Z

autohotkey.portable 1.1.28.02 User:dfrancis-adm Domain:MYCOMP Original User:dfrancis-adm InstallDateUtc:2018-04-20 16:22:04Z

bind-toolsonly 9.12.1 User:dfrancis-adm Domain:MYCOMP Original User:dfrancis-adm InstallDateUtc:2018-05-18 12:25:40Z

ここで使っているパラメータ -lo は、ローカルにインストールされたパッケージを見るという意味です。

関連ブログ: Chocolatey パッケージの社内リポジトリ設定

Windows にインストールされたすべてのパッケージを Chocolatery で表示

前述のように、Chocolatey は Windows とは別にパッケージを管理しますが、Chocolatey を使わずにインストールされた、または Chocolatey を導入する前にインストールされたソフトウェアをチェックしたい場合はどうすればいいでしょうか?そのためには、choco list-include-programs パラメータをつけます。

PS C:\> choco list -lo --include-programs

このコマンドを使用すると、下のようにソフトウェアの2番目のリストが表示されます。これらは、Chocolatey を使わずにインストールされたパッケージです。

ABBYY FineReader 11|11.11.194

AD Replication Status Tool 1.0|2.6.60913.0

ADManager Plus Free Tools|4.0

古くなったパッケージの検出

Chocolatey の最も優れた機能の1つは、アップグレードが必要なパッケージをすばやく検出し、アップグレードできることです。ここでは、古くなったパッケージの検出だけを説明します。使うコマンドは、choco outdated です。

PS C:\> choco outdated

Chocolatey v0.10.11 Business

Outdated Packages

 Output is package name | current version | available version | pinned?

 

autohotkey.portable|1.1.28.02|1.1.29.01|false

bitvise-ssh-client|7.39|7.43|false

calibre|3.25.0|3.26.1|false

chocolatey.extension|1.12.11|1.12.12|false

citrix-receiver|4.10.1|4.12|false

上記を見てわかるように、すべての古くなったパッケージの名前、現在のバージョン、利用可能なバージョン、ピン付けされているかどうか、を確認できます。パッケージのピン付けは、ユーザーがパッケージをアップグレードしないことを指定したことを意味します。

まとめ

Chocolatey でパッケージを管理することで、ソフトウェアの監査とアップグレードを改善できることは明らかだと思います。Windows にネイティブでは存在しない、詳細なインベントリ情報が獲得できます。


Dan Franciscus
Dan Franciscus is a systems engineer and VMware Certified Professional (VCP) specializing in VMware, PowerShell, and other Microsoft-based technologies. You can reach Dan at his blog (http://www.winsysblog.com/) or Twitter at @dan_franciscus.
著者が作成したブログ

関連記事

Make Me Admin を使って管理者権限を獲得
このブログでは、ソフトウェアのインストールなどといった、単純な管理者権限を一時的にユーザーに付与する方法について説明したいと思います。ユーザーが一時的に管理者権限を使えることで、IT関連の停滞を防ぐことができます。
キーロガー脅威 – ずっとチェックされていた?
キーロガーとは、キーボードやその他の入力デバイスを使って入力されたすべてを記録するものです。ソフトウェア・キーロガーがより一般的であり、よく知られています。ソフトウェア・キーロガーは被害者のコンピュータにインストールされたマルウェアです。
Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

The specified form no longer exists or is currently unpublished.