Lihat program yang diinstal pada mesin jarak jauh?

19

Saya bertanya-tanya apakah ada metode yang mudah dan ringan untuk melihat program apa yang diinstal pada mesin jarak jauh? Saya tergoda untuk menggunakan Spiceworks tetapi saya ingin sesuatu yang lebih ringan seperti skrip. Saya telah bermain-main dengan WMIC sedikit dan bisa mendapatkan daftar program untuk komputer saya, tetapi saya tidak tahu apakah saya bisa melakukan hal yang sama dengan itu untuk komputer jarak jauh. Ada ide?

Sunting: Maaf saya lupa OS, kami menggunakan sebagian besar Windows XP dan 7, saya menggunakan Windows 7. Saya mencari sesuatu untuk dijalankan di latar belakang tanpa pengguna yang saat ini menggunakan komputer. Saya ingin dapat melakukannya selama hari kerja sementara orang-orang bekerja dan melakukannya tanpa mengganggu mereka. Saya sangat menghargai jawaban Linux karena saya mencoba belajar lebih banyak tentang Linux dan berencana untuk mengubah secara pribadi kapan-kapan.

Mobojo
sumber
7
Ini akan membantu untuk mengetahui OS mesin.
ℝaphink
Mengapa hanya program? Mungkin ada materi lain yang dilindungi hak cipta di sistem (file font dan mp3 adalah kasus yang jelas)
symcbean
@symcbean Alasan utama saya bertanya adalah untuk lisensi. Kami memiliki beberapa program yang kami hanya memiliki satu tangan penuh lisensi dan saya perlu mencari tahu di mana program diinstal sehingga saya dapat menentukan apakah saya dapat menghapusnya di suatu tempat sehingga pengguna lain dapat menggunakan program atau jika saya perlu membeli lisensi baru. Hal-hal lain yang akan saya bahas nanti.
Mobojo

Jawaban:

19

Anda dapat menggunakan salah satu alat Sysinternals PSinfo:

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

PsInfo v1.77 - Penampil informasi sistem lokal dan jarak jauh Hak Cipta (C) 2001-2009 Mark Russinovich Sysinternals - www.sysinternals.com

PsInfo mengembalikan informasi tentang sistem Windows NT / 2000 / XP lokal atau jarak jauh.

Penggunaan: psinfo [-h] [-s] [-d] [-c [-t pembatas]] [filter] [\ computer [, computer [, ..]] | @ file [-u Nama Pengguna [-p Kata Sandi ]]]

 -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

Saring. mis. "layanan psinfo" hanya mencantumkan bidang paket layanan. komputer Langsung PsInfo untuk melakukan perintah pada komputer jarak jauh atau komputer yang ditentukan. Jika Anda menghilangkan nama komputer PsInfo menjalankan perintah pada sistem lokal, dan jika Anda menentukan wildcard (\ *), PsInfo menjalankan perintah di semua komputer dalam domain saat ini. @file PsInfo akan dijalankan terhadap komputer yang tercantum dalam file yang ditentukan.

Penerbitan

Nama pengguna PSinfo -s \\

akan memberi tahu Anda apa yang diinstal pada komputer jarak jauh.

RobW
sumber
11

Pada distribusi Linux berbasis rpm, Anda dapat menjalankan yang berikut:

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

Untuk distribusi berbasis deb, sampaikan ini ke perintah ssh:

'dpkg-query -l | sort'

Untuk Gentoo (per komentar yang diberikan dari Monksy ):

'qpkg -I | sort'

Untuk Solaris:

'pkginfo -i | sort'

Dan di AIX:

'lslpp -a all | sort'
warren
sumber
1
Gentoo: Jika Anda memiliki gentoolkit yang terinstal di gentoo, Anda dapat mengetahui semua paket yang terinstal dengan: "qpkg -I"
monksy
Dapatkah saya menggunakan ini pada mesin Linux untuk melihat informasi pada mesin Windows atau hanya untuk Linux ke Linux?
Mobojo
@ Mobojo - tidak yakin apakah Anda dapat menjalankan perintah serupa dari mesin * nix ke yang Windows; Anda tentu harus dapat menggunakan klien ssh untuk menjalankan perintah-perintah ini dari mesin mana pun yang berasal dari * nix, walaupun
warren
6

WMIC dapat digunakan dari jarak jauh, secara default, dengan akun yang merupakan bagian dari grup Administrator. Anda dapat mendelegasikan akses WMI hanya baca ke pengguna normal.

SNMP juga dapat digunakan - Anda hanya perlu mengonfigurasi komunitas baca-saja. Anda perlu menelusuri tabel hrSWInstaled:snamwalk -c public -v2c server_IP hrSWInstalled

Lihat juga: http://technet.microsoft.com/en-us/library/bb742610.aspx

Mircea Vutcovici
sumber
6

Berikut ini adalah skrip PowerShell yang akan terhubung ke kunci registri HKLM \ Software \ Microsoft \ Windows \ Uninstall, tarik kunci, dapatkan nama tampilan mereka dan kirim ke file teks.

$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
Christopher
sumber
2

Ada sejuta program yang akan melakukan ini. Beberapa lebih mudah dan ringan daripada yang lain.

Berikut adalah salah satu dari banyak program yang melakukan ini:

http://managepc.net/

joeqwerty
sumber
1

Jika ini mesin windows, Anda dapat menjalankan "WinAudit" (gratis, cukup mencarinya) pada pekerjaan yang dijadwalkan. Ini menghasilkan HTML atau laporan teks dan semacamnya, yang dapat Anda simpan ke drive jaringan dan melihat dari komputer jarak jauh.

ATAU:

Desktop jarak jauh. Anda terhubung, dan menggunakannya seolah-olah itu adalah mesin lokal. Bekerja di * nix juga.

U4iK_HaZe
sumber
1

Anda dapat menggunakan WMI dari PowerShell:

gwmi win32_product -ComputerName Computer1

Ameer Deen
sumber