2012-07-10 19:45:02 +0000 2012-07-10 19:45:02 +0000
31
31
Advertisement

PCにインストールされているすべてのソフトウェアをリストアップ

Advertisement

コンピュータにインストールされているソフトウェアをすべてリストアップして、スプレッドシートにコピー/ペーストできるようにするために、Windowsに組み込まれているものはありますか? これができるソフトウェアがあることは知っていますが、何もインストールできません。できればバッチファイルは使いたくないのですが、それしか方法がないのではないかと想像しています。理想としては、プログラムの追加/削除フォームの(拡大していない)ビューに表示されているのと同じ情報を出力できるようにしたいのですが、どうすればいいのでしょうか?

Advertisement
Advertisement

回答 (8)

41
41
41
2012-07-10 19:58:16 +0000

コンソールを起動して、次のように入力します。

wmic product get name,version

と入力します。しばらく時間がかかりますが、インストールされているプログラムの完全なリストが表示されます。WMICはWindows Management Instrumentationのコンソール版で、Windows 2000以降で利用可能です。ここにある](http://technet.microsoft.com/en-us/library/bb742610.aspx)と[ここにある](http://msdn.microsoft.com/en-us/library/windows/desktop/aa394531%28v=vs.85%29.aspx)の指示に従って、WMICにXML形式で出力するように指示することができます。しかし、`wmic product get name`を呼び出すだけでアプリケーション名のリストが得られますので、テキストエディタにコピーペーストしてスプレッドシート形式に変換することができます。

あるいは、以下のように入力します。

wmic /output:C:\InstallList.txt product get name,version

と入力すると、プログラムのリストを含む TXT ファイルが出力されます。これをスプレッドシートに貼り付けることができます。

wmic /output:C:\InstallList.csv product get /format:csv.xsl

ソース。 http://helpdeskgeek.com/how-to/generate-a-list-of-installed-programs-in-windows/


また、csv.xslファイルを使用して、出力を結果のCSVリストにフォーマットすることもできます。

wmic /output:C:\InstallList.htm product get /format:hform.xsl

または htable.xsl ファイルを使用して結果の HTML テーブルを作成することもできます。

0x1&

8
8
8
2012-07-10 19:54:54 +0000

wmic product get を実行して、インストールされているソフトウェアのリストを取得してください。

特定のフォーマットで出力させることができるはずですが、試していません。

(出力フォーマットを含むパラメータを見るにはwmic product get /?を使ってください。ここに含めようとしましたが、フォーマットが正しくありませんでした。)

5
Advertisement
5
5
2012-07-10 20:13:18 +0000
Advertisement

他の人が言っているように、Win32_ProductオブジェクトのWMIクエリでこの情報を得ることができます。PowerShellはそれをCSVファイルにダンプしてくれます。

Get-WmiObject -Class "Win32_Product" | Export-CSV (Join-Path $home "Win32_Product.csv")

ただし、 search for Win32_Product issues としてください。ガムドロップやロリポップばかりではありません。

4
4
4
2014-10-09 19:14:03 +0000

明示的に Management and Monitoring ToolsメニューのAdd/Remove Windows Componentsをインストールしていない限り、WMICはサーバ上では動作しません。

もう一つの解決策は、レジストリに移動して アンインストール可能なプログラムをすべて見る に移動することです。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

値を確認するには、それぞれをクリックする必要があります。エクスポート範囲」が「選択したブランチ」のみを含むように設定されていることを確認してください:

^(?!"DisplayName").+

その後、ノートパッド++でUninstallファイルを開くことができますが、アプリケーションごとに多くの余分な情報を取得することになります。

以下の正規表現と照合することで、[ (http://www.regexr.com/39m40) .reg で始まらない]行をすべて削除することができます。

("DisplayName"="|")

次に、 以下の正規表現にマッチすることで、 文字列 "DisplayName" または "DisplayName" のいずれかを削除することができます。

^(.*)(\r?\n)+$

次に、 以下の正規表現にマッチすることで、 重複行を削除することができます。

または、 行をアルファベット順に並べ替え を行い、空白行を削除することもできます。

3
Advertisement
3
3
2013-07-11 10:53:37 +0000
Advertisement

一番簡単な方法は、piriformのccleanerを実行することです。
これは、Tools -> Uninstall -> “save to text file "にボタンがあります。

0
0
0
2017-03-05 15:59:46 +0000

これまでに言及していないコマンドライン以外のソリューションとしては、以下の2つがあります。

1.MyUninstaller - NirSoft のフリーウェアプログラムで、アンインストールの他に、多くの追加情報を含むインストールされたソフトウェアの包括的なリストを HTML にエクスポートすることができます。これはポータブルであるという利点があります。それは「組み込み」ではありませんが、USBドライブから実行することができます。ここにある ここ .

  1. Belarc Advisor - セキュリティ分析とコンピュータのハードウェアとソフトウェアの包括的なインベントリを行うフリーウェア(個人用)プログラム。それは利用可能です ここで . 残念ながら、あなたはそれをインストールしなければならないので、それは完全にOPのニーズを満たしていませんが、同じ質問を持っており、インストールすることができる他の人のニーズを満たすかもしれません。
0
Advertisement
0
0
2017-07-12 14:57:08 +0000
Advertisement

c#でエンコードされたバージョンは、レジストリ

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace SoftwareInventory
{
    class Program
    {
        static void Main(string[] args)
        {
            //!!!!! Must be launched with a domain administrator user!!!!!
            Console.ForegroundColor = ConsoleColor.Green;
            StringBuilder sbOutFile = new StringBuilder();
            Console.WriteLine("DisplayName;IdentifyingNumber");
            sbOutFile.AppendLine("Machine;DisplayName;Version");

            //Retrieve machine name from the file :File_In/collectionMachines.txt
            //string[] lines = new string[] { "NameMachine" };
            string[] lines = File.ReadAllLines(@"File_In/collectionMachines.txt");
            foreach (var machine in lines)
            {
                //Retrieve the list of installed programs for each extrapolated machine name
                var registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                using (Microsoft.Win32.RegistryKey key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, machine).OpenSubKey(registry_key))
                {
                    foreach (string subkey_name in key.GetSubKeyNames())
                    {
                        using (RegistryKey subkey = key.OpenSubKey(subkey_name))
                        {
                            //Console.WriteLine(subkey.GetValue("DisplayName"));
                            //Console.WriteLine(subkey.GetValue("IdentifyingNumber"));
                            if (subkey.GetValue("DisplayName") != null && subkey.GetValue("DisplayName").ToString().Contains("Visual Studio"))
                            {
                                Console.WriteLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                                sbOutFile.AppendLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                            }
                        }
                    }
                }
            }
            //CSV file creation
            var fileOutName = string.Format(@"File_Out\{0}_{1}.csv", "Software_Inventory", DateTime.Now.ToString("yyyy_MM_dd_HH_mmssfff"));
            using (var file = new System.IO.StreamWriter(fileOutName))
            {

                file.WriteLine(sbOutFile.ToString());
            }
            //Press enter to continue 
            Console.WriteLine("Press enter to continue !");
            Console.ReadLine();
        }

    }
}
```経由でインストールされたプログラムの中にあります。
0
0
0
2016-08-14 20:52:43 +0000

Windows 7ではPowerShellスクリプトを使うことができます。

Start ボタンをクリックして PowerShell を開き、検索フィールドに powershell と入力します。

その後、PowerShellウィンドウに以下のコマンドを入力します。

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

いずれかのフィールドを削除することができます。

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize > C:\temp\AllInstalledPrograms.txt

フィールドを削除しても構いません。

出力をファイルに保存したい場合は、リダイレクトを使用してください。

0x1&

Advertisement

関連する質問

3
19
10
28
13
Advertisement