विंडोज कमांड लाइन से इंस्टॉल किए गए एप्लिकेशन की सूची प्राप्त करें


34

मैंने एक बार एक आदमी को एक कमांड चलाते देखा और उसके कंप्यूटर पर सभी इंस्टॉल किए गए एप्लिकेशन की एक सूची प्राप्त की। मैं यह कैसे करु?

मैं अपने वर्तमान में स्थापित अनुप्रयोगों की एक सूची चाहूंगा। मेरा मानना ​​है कि उन्होंने किसी तरह डब्ल्यूएसएच का इस्तेमाल किया ।


जवाबों:


39

यदि आप Windows Vista या Windows 7 का उपयोग करते हैं और आप अतिरिक्त सॉफ़्टवेयर स्थापित नहीं करना चाहते हैं, तो आप कर सकते हैं:

  1. एक कमांड-लाइन विंडो खोलें ( Windows+ R, CMD.EXE)
  2. टाइप करें wmic( Enter)
  3. टाइप करें product get name( Enter)

+1 आपकी मशीन के बारे में बहुत कुछ नहीं है जो WMI आपको इन दिनों नहीं बता सकता है।
GAThrawn

5
यहाँ यह कहता है कि Win32_Product स्थापित सॉफ्टवेयर्स के बारे में सारी जानकारी नहीं देगा। इसका मतलब है कि, यह सभी सॉफ्टवेयर्स को सूचीबद्ध नहीं करेगा। इसका कारण है, win32_product MSI डेटाबेस को सूची में लाने के लिए क्वेरी करता है। लेकिन ऐसे कई सॉफ्टवेयर्स होंगे जो इसमें एंट्री नहीं लेंगे क्योंकि वे एक्सई से स्थापित हुए थे। इस मामले में अनइंस्टॉल की गई रजिस्ट्री कुंजी को क्वेरी करने से इन सॉफ्टवेयर्स की जानकारी मिल जाती है।
दमनकारी चर

1
@MableableVariable क्या यह कहता है? (क्या यह गलत लिंक है?) उसी तरह से फैशन में रजिस्ट्री की स्थापना रद्द कैसे होगी? (या शायद wmicस्वयं का उपयोग करके ?)
जेरोमेज

1
विंडोज 10 के साथ भी काम करता है
तूरिया

5
क्या यह सिर्फ मुझे है, या यह बहुत धीमी गति से चलता है?
user3083324

27

Microsoft / Sysinternals से PsInfo सभी स्थापित सॉफ़्टवेयर को सूचीबद्ध कर सकता है यदि आप इसे चलाते समय -s ध्वज का उपयोग करते हैं । आप उदाहरण के लिए Excel में उपयोग करने के लिए इसे csv फ़ाइल के रूप में आउटपुट करने के लिए -c का भी उपयोग कर सकते हैं ।

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

1
WMI समाधान के विपरीत unter Win XP में भी काम करता है
Gerd Klima

पर सभी स्थापित सॉफ़्टवेयर नहीं दिखाता है Windows 2012 R2 x64। मैं उपयोग कर रहा हूँPsInfo ver. 1.77
टॉमासिटो

इस विधि अपने लैपटॉप पर 933 आइटम का उत्पादन किया और WMI विधि का उत्पादन केवल 598 यह एक बड़ी सूची का निर्माण करने के लग रहा था ...
Andrej Adamenko

@djhowell: मैं विंडोज 7 में कमांड को निष्पादित करने की कोशिश कर रहा हूं, लेकिन मुझे एक त्रुटि मिलती है, " psinfo is not recognized as an internal or external command, operable program or batch file."। और ऊंचे अधिकार वाले cmd विंडो में भी ऐसा होता है।
skm

14

उन्हें सूचीबद्ध करने के लिए एक 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 के अनइंस्टॉल टूल का उपयोग करता हूं , और आप इंस्टॉल किए गए सॉफ़्टवेयर की सूची को टेक्स्ट फाइल पर निर्यात कर सकते हैं:

वैकल्पिक शब्द


2
बल्कि विडंबना यह है कि विंडोज पॉवर्सशेल आदि उपकरण चलाने में उम्र लेते हैं (> 5 मिनट) लेकिन CCleaner तत्काल है।
सीएडी

6

बिल्कुल कमांड लाइन भी नहीं, लेकिन भरोसेमंद पुराने SIW भी काम करेंगे। हाइलाइट अनुप्रयोग , राइट क्लिक → निर्यात करने के लिएसीएसवी, एचटीएमएल, TXT या XML :

वैकल्पिक शब्द

SIW फ्रीवेयर और पोर्टेबल है, और स्थापना की आवश्यकता नहीं है।


मुझे हमेशा एक लाइसेंस की आवश्यकता के लिए SIW पता है, आप इसे फ़्रीवेयर के रूप में कहां से प्राप्त कर रहे हैं?
एल टर्नर

3

ऊपर CCleaner समाधान इसके बारे में जाने के लिए एक सभ्य तरीका लगता है, जब तक कि आप कमांड-लाइन का उपयोग करने के लिए निर्धारित न हों। मैंने पहले CCleaner का उपयोग किया है, यह एक अच्छा उपकरण है लेकिन यह मत मानो कि सब कुछ Add / Remove Programs एप्लेट (समान सूची) में पंजीकृत है। बहुत सारे ऐप हैं जो xcopy- शैली की स्थापना का उपयोग करते हैं, अर्थात बस इस संग्रह को अनज़िप करें और चलाएं। जो सूची में दिखाई नहीं देंगे।


3

MicTech के समाधान में जोड़ने के लिए - wmicएक फ़ाइल में स्थापित सॉफ़्टवेयर की सूची का उपयोग करें और कैप्चर करें:

एक कमांड-लाइन विंडो खोलें ( Windows+ R, CMD.EXE)

wmic /OUTPUT:my_software.txt product get name

2

Sysinternals psinfo.exe दिए गए सभी सुझावों की सबसे संपूर्ण जानकारी प्रदान करता है, और इसे किसी भी विंडोज पीसी पर कमांड लाइन से सीधे एक उन्नत CMD प्रॉम्प्ट से स्थायी डाउनलोड किए बिना चलाया जा सकता है:

\\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

0

Showmysoft नामक एक पोर्टेबल एप्लिकेशन है। यह स्थानीय मशीन और रिमोट मशीनों पर स्थापित सॉफ्टवेयर को दिखाएगा और पीडीएफ और सीएसवी को निर्यात कर सकता है । स्थापना की आवश्यकता नहीं है। Http://spidersoft.in/showmysoft/ से डाउनलोड करें ।

न्यूनतम सिस्टम आवश्यकता Microsoft .NET फ्रेमवर्क 2.0 है।


0

Windows रजिस्ट्री के माध्यम से 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)
                            {
                                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();
        }
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.