Extraire la valeur de registre de plusieurs ordinateurs à l'aide de powershell

Un collègue et moi sommes d'essayer de créer un script powershell qui utilise un fichier CSV qui contient les noms de tous les ordinateurs sur le réseau de l'entreprise, et utilise ces noms pour se connecter à distance à un registre et d'en extraire une valeur spécifique.

C'est ce que nous avons jusqu'à présent:

$strMachineName = import-csv .\computer_name.csv
foreach ($line in $strMachineName)
{
                $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $line.computer)
                $regkey = $reg.OpenSubkey("SOFTWARE\\Olympus\\DSSPlayerPro\\Transcription Module\\UserInformation")
                $serialkey = $regkey.GetValue("SerialNumber")
                write-host $line","$serialkey
}

Maintenant, ce script fonctionne très bien mais il y a des problèmes de sortie de qui les rendent difficiles à comprendre avec de nombreux ordinateurs.

Nous aimerions être en mesure à la sortie stdout vers un autre fichier, un fichier csv ou txt, et nous tenons également à être en mesure à la sortie stderr à null, ou un autre fichier de sorte, nous pouvons inspecter plus tard.

Ma recherche m'a fait croire que write-host n'est pas la bonne commande à l'aide car elle n'a pas de sortie pour un fichier lorsque les variables sont utilisées (??), j'ai donc essayé de l'utilisation de l'écho, mais je vais avoir des problèmes pour obtenir les variables de travailler comme je le voudrais.

J'apprécie toute l'aide, merci!!!!

OriginalL'auteur smierdziel | 2012-01-25