Переглянути встановлені програми на віддаленій машині?


19

Мені було цікаво, чи існує легкий і легкий метод перегляду, які програми встановлені на віддаленій машині? Мені спокуса використовувати Spiceworks, але мені хотілося б чогось більш легкого, як сценарій. Я трохи граю з WMIC і можу отримати список програм для мого комп'ютера, але я не знаю, чи можу це зробити з ним на віддаленому комп'ютері. Якісь ідеї?

Редагувати: Вибачте, що я забув ОС, ми використовуємо в основному Windows XP та 7, я використовую Windows 7. Шукаю, що можна запустити у фоновому режимі без користувача, який зараз використовує комп'ютер. Я хотів би мати можливість це робити під час робочого дня, поки люди працюють і роблять це, не перебиваючи їх. Я ціную відповіді Linux, оскільки я намагаюся дізнатися більше про Linux і планую особисто змінитись колись.


7
Це допомогло б знати ОС машини.
ℝaphink

Чому саме програми? У системі можуть бути інші захищені авторським правом матеріали (файли шрифтів та mp3 - очевидні випадки)
symcbean

@symcbean Моя головна причина просити - це ліцензування. У нас є кілька програм, на які у нас є лише повна кількість ліцензій, і мені потрібно розібратися, де встановлені програми, щоб я міг визначити, чи зможу я її деінсталювати десь, щоб інший користувач міг користуватися програмою або якщо мені потрібно придбати нова ліцензія. Інші речі я розгляну пізніше.
Mobojo

Відповіді:


19

Ви можете використовувати один із інструментів PSinfo:

http://technet.microsoft.com/en-us/sysinternals/bb897550

PsInfo v1.77 - Переглядач інформації про локальну та віддалену систему Copyright (C) 2001-2009 Марк Русинович Sysinternals - www.sysinternals.com

PsInfo повертає інформацію про локальну або віддалену систему Windows NT / 2000 / XP.

Використання: psinfo [-h] [-s] [-d] [-c [-t роздільник]] [фільтр] [\ комп'ютер [, комп'ютер [, ..]] | @file [-u Ім'я користувача [-p Пароль ]]]

 -u        Specifies optional user name for login to
           remote computer.
 -p        Specifies password for user name.
 -h        Show installed hotfixes.
 -s        Show installed software.
 -d        Show disk volume information.
 -c        Print in CSV format
 -t        The default delimiter for the -c option is a comma,
           but can be overriden with the specified character. Use
           "\t" to specify tab.
 filter    Psinfo will only show data for the field matching the

фільтр. наприклад, "psinfo service" перелічує лише поле пакета обслуговування. комп'ютер Direct PsInfo для виконання команди на віддаленому комп'ютері або вказаних комп'ютерах. Якщо ви опустите ім'я комп’ютера PsInfo виконує команду в локальній системі, а якщо вказано підстановку (\ *), PsInfo виконує команду на всіх комп'ютерах у поточному домені. @file PsInfo працюватиме з комп'ютерами, вказаними у вказаному файлі.

Видача

PSinfo -s \\ ім'я комп'ютера

підкаже, що встановлено на віддаленому комп’ютері.


11

У дистрибутиві Linux на основі rpm можна запустити наступне:

ssh <user-who-can-run-rpm>@<remote.host> 'rpm -qa | sort'

Для розподілу на основі деб переведіть це в команду ssh:

'dpkg-query -l | sort'

Для Gentoo (за коментарем від Monksy ):

'qpkg -I | sort'

Для Solaris:

'pkginfo -i | sort'

І на AIX:

'lslpp -a all | sort'

1
Gentoo: Якщо у вас встановлено gentoolkit на gentoo, ви можете дізнатися всі встановлені пакети з: "qpkg -I"
monksy

Чи можу я використовувати це на машині Linux для перегляду інформації на машині Windows або це просто для Linux для Linux?
Mobojo

@Mobojo - не впевнений, чи можна виконати подібну команду з * nix-машини на Windows; ви, безумовно, повинні мати можливість використовувати будь-який ssh-клієнт для запуску цих команд з будь-якої машини, що виходить на * nix, хоч
warren

6

WMIC можна використовувати віддалено, за замовчуванням, з обліковим записом, який входить до групи адміністраторів. Ви можете делегувати доступ WMI лише для читання звичайному користувачеві.

SNMP також може бути використаний - вам просто потрібно налаштувати спільноту лише для читання. Вам потрібно переглянути таблицю hrSWInstalled:snamwalk -c public -v2c server_IP hrSWInstalled

Дивіться також: http://technet.microsoft.com/en-us/library/bb742610.aspx


6

Ось сценарій PowerShell, який підключиться до ключа реєстру HKLM \ Software \ Microsoft \ Windows \ Uninstall, потягне клавіші, отримає їх відображувані імена та відправить у текстовий файл.

$temparray=@()
$MachineName = 'somecomputername'
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::'LocalMachine', $MachineName)

#connect to the needed key :

$regKey= $reg.OpenSubKey("software\Microsoft\Windows\currentversion\uninstall\" )

#and list the properties :

$programs = $regkey.GetSubKeyNames()
foreach ($program in $programs)
{   
    $regKey2 = $regKey.OpenSubKey($program)

    $temparray +=  $regKey2.GetValue("DisplayName")
}
$temparray |Sort-Object |Out-File -FilePath "C:\testinstalledprograms.txt" -Force

2

Є мільйон програм, які будуть це робити. Деякі більш легкі та легкі, ніж інші.

Ось лише одна з незліченних програм, яка робить це:

http://managepc.net/


1

Якщо це Windows-машина, ви можете запустити "WinAudit" (безкоштовно, просто шукайте її) за запланованою роботою. Він генерує HTML або текстові звіти і такі, з яких ви можете зберігати на мережевому диску та переглядати з віддаленого комп'ютера.

АБО:

Віддалений робочий стіл. Ви підключаєте та використовуєте його так, ніби це локальна машина. Працює і в * nix.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.