-1

Возможно ли получить список установленных программ удаленного компьютера? Я знаю, как сделать это для локального компьютера с использованием Powershell. Возможно ли с Powershell установить установленное программное обеспечение удаленного компьютера и сохранить этот список на удаленном компьютере? Это я использую для локальных компьютеров: Get-WmiObject -Class Win32_Product | Select-Object -Property ИмяПолучить список установленных программ удаленного компьютера

Спасибо заранее, С наилучшими пожеланиями,

+0

Yep: [Подключение к WMI на удаленном компьютере с помощью Windows PowerShell] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee309377(v=vs.85).aspx) –

+1

Возможный дубликат [Проверка компьютеров для установленной программы в powershell] (http: // stackoverflow.com/questions/27406010/check-computers-for-installed-program-in-powershell). Также есть http://stackoverflow.com/q/34135657/62576, который содержит соответствующую информацию. Пожалуйста, сделайте поиск здесь, прежде чем публиковать новый вопрос; вероятность того, что вопрос был задан (и ответил) здесь раньше. –

+0

Get-WmiObject -computername mycomputer -Class Win32_Product | Select-Object -Property Name. Я не думаю, что это дубликат ... но хорошо, это помогло мне ... – Joep

ответ

0

закодированной версии в 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(); 
      } 


     } 
    } 
-1

Есть несколько способов, как получить список установленных программ на удаленном компьютере:

  1. Выполнение запроса WMI в пространстве имен ROOT \ CIMV2:

    • Запустите WMI Explorer или любое другое средство, которое может запускать запросы WMI.
    • запрос
    • Run WMI "SELECT * FROM Win32_Product"
  2. Использование Wmic интерфейс командной строки:

    • Нажмите WIN + R
    • Тип "WMIC", нажмите Enter
    • В wmic command prompt type "/ node: RemoteComputerName product"
  3. Использование Powershell скрипт:

    • Thru объекта WMI: Get-WmiObject -Класс Win32_Product -Компьютер имя_удаленного_компьютера
    • через реестр: Get-ItemProperty HKLM: \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall * | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -autosize
    • через Get-RemoteProgram командлета Get-RemoteProgram -ComputerName имя_удаленного_компьютера

Источник: https://www.action1.com/kb/list_of_installed_software_on_remote_computer.html

+0

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. - [Из обзора] (/ review/low-quality-posts/18236125) – Steven

Смежные вопросы