it-swarm.asia

الحصول على قائمة التطبيقات المثبتة من سطر الأوامر ويندوز

رأيت ذات مرة رجلاً يدير أمرًا وحصلت على قائمة بجميع التطبيقات المثبتة على جهاز الكمبيوتر الخاص به. كيف أقوم بهذا العمل؟

أرغب في الحصول على قائمة بالتطبيقات المثبتة حاليًا. أعتقد أنه استخدم WSH بطريقة ما.

33
rana

إذا كنت تستخدم Windows Vista أو Windows 7 ولم ترغب في تثبيت برامج إضافية ، فيمكنك:

  1. افتح نافذة سطر أوامر (Windows + R، CMD.EXE)
  2. اكتب wmic (Enter)
  3. اكتب product get name (Enter)
39
MicTech

PsInfo من Microsoft/Sysinternals يمكنه سرد جميع البرامج المثبتة إذا كنت تستخدم علامة - s عندما شغلها. يمكنك أيضًا استخدام - c لإخراجه كملف csv لاستخدامه في Excel على سبيل المثال.

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

ليس بالضبط سطر الأوامر أيضا ، ولكن القديم مضمونة SIW ستقوم بهذه المهمة أيضًا. تمييز التطبيقات ، انقر بزر الماوس الأيمن> تصدير إلى> CSV ، HTML ، TXT أو XML

alt text

SIW مجانية ومحمولة ، لا يلزم التثبيت.

6
Molly7244

يبدو حل CCleaner المذكور أعلاه طريقة مناسبة للقيام به ، إلا إذا كنت مصممًا على استخدام سطر الأوامر. لقد استخدمت CCleaner من قبل ، إنها أداة جيدة ولكن لا تفترض أن كل شيء مسجل في برنامج إضافة/إزالة البرامج (نفس القائمة). هناك الكثير من التطبيقات التي تستخدم التثبيت على غرار xcopy ، أي ببساطة قم بفك ضغط هذا الأرشيف وتشغيله. تلك لن تظهر في القائمة.

3
JMD

للإضافة إلى حل Peter Mortensen - استخدم wmic والتقاط قائمة البرامج المثبتة إلى ملف:

افتح نافذة سطر أوامر (Windows + R، CMD.EXE)

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

يوفر Sysinternals psinfo.exe المعلومات الأكثر اكتمالا عن جميع الاقتراحات المقدمة ، ويمكن تشغيله على أي جهاز كمبيوتر يعمل بنظام Windows من خط cmd مباشرة من موجه CMD مرتفع ، دون تنزيل دائم:

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

ستحصل على موجه أمان عند تشغيل هذا الأمر ، ومطالبة EULA لأول مرة على الجهاز. سيتم حفظ ملف نصي على سطح المكتب الحالي.

يمكن قبول اتفاقية ترخيص المستخدم النهائي تلقائيًا مثل هذا:

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

يوجد تطبيق محمول يسمى Showmysoft. سيعرض البرنامج المثبت على الجهاز المحلي والأجهزة البعيدة ويمكن تصديره إلى PDF وإلى CSV . التثبيت غير مطلوب. تنزيل من 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