it-swarm-ja.com

インストールされているアプリケーションの一覧をWindowsのコマンドラインから取得する

私はかつて男がコマンドを実行し、彼のコンピューターにインストールされているすべてのアプリケーションのリストを得たのを見ました。どうやってこれをするの?

現在インストールされているアプリケーションのリストが欲しいのですが。どうやら彼は WSH を使ったと思います。

33
rana

Windows Vista またはWindows 7を使用していて、追加のソフトウェアをインストールしたくない場合は、次のことができます。

  1. コマンドラインウィンドウを開く(Windows + RCMD.EXE)
  2. wmic((Enter
  3. product get nameEnter
39
MicTech

Microsoft/SysinternalsのPsInfo を使用すると、 - sフラグを使用すると、インストールされているすべてのソフトウェアを一覧表示できます。それを実行します。たとえばExcelで使用するcsvファイルとして出力するには、 - cを使用することもできます。

C:\> psinfo -s > software.txt
C:\> psinfo -s -c > software.csv
26
djhowell

それらを一覧表示するPowerShellスクリプト:

$loc = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

$names = $loc |foreach-object {Get-ItemProperty $_.PsPath}

foreach ($name in $names)
{
Write-Host $name.Displayname
}

厳密にはコマンドラインではありませんが、この目的のために私は個人的に CCleanerの アンインストールツールを使用します。インストールされているソフトウェアのリストをテキストファイルにエクスポートできます。

alt text

14
John T

厳密にはコマンドラインでもありませんが、信頼できるoldSIWも同様に機能します。アプリケーションを強調表示し、右クリック>エクスポート先> CSV、HTML、TXTまたはXML

alt text

SIWはフリーウェアで移植性があり、インストールは不要です。

6
Molly7244

上記のCCleanerによる解決策は、コマンドラインを使用することを決心していない限り、これを実行するための適切な方法のように思えます。 CCleanerを以前に使用したことがありますが、これは優れたツールですが、すべてが[プログラムの追加と削除]アプレット(同じリスト)に登録されているとは限りません。 xcopyスタイルのインストールを使用する、つまり単にこのアーカイブを解凍して実行するアプリがたくさんあります。それらはリストに表示されません。

3
JMD

Peter Mortensenの解決策に追加するには - wmicを使用して、インストールされているソフトウェアのリストをファイルにキャプチャします。

コマンドラインウィンドウを開く(Windows + RCMD.EXE)

wmic /OUTPUT:my_software.txt product get name
3
Moots

Sysinternals psinfo.exeは与えられたすべての提案の最も完全な情報を提供し、永続的なダウンロードなしで、昇格されたCMDプロンプトから直接cmd行から任意のWindows PC上で実行することができます。

\\live.sysinternals.com\tools\psinfo.exe -s > %userprofile%\Desktop\_psinfo.txt

これを実行するとセキュリティプロンプトが表示され、コンピュータで初めてEULAプロンプトが表示されます。テキストファイルが現在のデスクトップに保存されます。

EULAはこのように自動的に受け入れられます。

\\live.sysinternals.com\tools\psinfo.exe -s /accepteula > %userprofile%\Desktop\_psinfo.txt
2
Matthew Simpson

Showmysoftと呼ばれるポータブルアプリケーションがあります。ローカルマシンとリモートマシンにインストールされているソフトウェアを表示し、 PDFCSV にエクスポートできます。インストールは必要ありません。 http://spidersoft.in/showmysoft/ からダウンロードしてください。

最小システム要件はMicrosoft .NET Framework 2.0です。

0
jacob justin

C#でエンコードされたバージョンは、Windowsレジストリを介してプログラムをインストールします。

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)
                            {
                                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
Domenico Zinzi