If you cannot use PowerShell remoting, and you need to read registry values from another system via DCOM, here is some example code you might want to try:
$ComputerName = 'pc01' # NOTE: RemoteRegistry Service needs to run on a target system! $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $ComputerName) $key = $reg.OpenSubKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall’) $key.GetSubKeyNames() | ForEach-Object { $subkey = $key.OpenSubKey($_) [PSCustomObject]@{ Name = $subkey.GetValue(‘DisplayName’) Version = $subkey.GetValue(‘DisplayVersion’) } $subkey.Close() } $key.Close() $reg.Close()
With just some very small changes, the same code yields a list of AD use
This code sample requires:
- That you have local Admin privileges on the target machine
- That the RemoteRegistry service runs on the target machine
- That the local firewall on the target has the “Remote Administrator Exception” enabled