14/12/2007

Recuperare la lista degli applicativi installati in un PC remoto

A cura di Efran Cobisi
Tag: Nessun tag disponibile.


Nonostante il recupero della lista degli applicativi installati in locale sia un'operazione molto semplice, Windows PowerShell permette di recuperare con altrettanta facilità anche la lista degli applicativi installati in una macchina remota, posto, naturalmente, che su questa sia installato Microsoft Windows (a partire dalla versione 2000) e che il servizio di registro di sistema remoto (remote registry) sia avviato (di default questo non avviene in Windows Server 2008).
$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine", "myserver")
$key = $reg.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
$key.GetSubKeyNames() |
	% { $key.OpenSubKey($_).GetValue("DisplayName") } |
	Select-Object -First 5
Lo script ritornerà un output simile a questo:
Adobe Flash Player ActiveX


Adobe Flash Player Plugin


Adobe PDF IFilter 6.0


AForge.NET Framework 1.5.1


AFPL Ghostscript 8.54

Commenti


04/01/2008 22.21
dani3l3:
Carino da registry, almeno funziona su qualsiasi versione :-)
Si poteva usare anche la classe WMI Win32_Product, per esempio:

Get-WmiObject Win32_Product -computername MYCOMPUTER | Select-Object Caption, Vendor, Version | Format-Table

24/04/2009 11.16
maltra: Help
Ciao a tutti ho provato ad eseguirlo:

$reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("LocalMachine", "\\10.0.0.49")
$key = $reg.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
$key.GetSubKeyNames() |
% { $key.OpenSubKey($_).GetValue("DisplayName") } |
Select-Object -First 5
MA OTTENGO IL SEGUENTE ERRORE:

Error in script : Eccezione durante la chiamata di "OpenSubKey" con "1" argomento/i: "Accesso al Registro di sistema non consentito."


Cobisi EmailVerify.NET is a Microsoft .NET software component that validates email addresses. valid email