Ich führe den folgenden Code mit PowerShell aus, um eine Liste der hinzugefügten/entfernten Programme aus der Registrierung abzurufen:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") } `
| Out-File addrem.txt
Ich möchte, dass die Liste für jedes Programm durch Zeilenumbrüche getrennt wird. Ich habe es versucht:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { Write-Output $_.GetValue("DisplayName") `n } `
| out-file test.txt
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object {$_.GetValue("DisplayName") } `
| Write-Host -Separator `n
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { $_.GetValue("DisplayName") } `
| foreach($_) { echo $_ `n }
Aber alle führen zu einer seltsamen Formatierung bei der Ausgabe auf der Konsole und zu drei quadratischen Zeichen nach jeder Zeile bei der Ausgabe in eine Datei. Ich habe versucht Format-List
, Format-Table
y Format-Wide
aber ohne Erfolg. Ursprünglich dachte ich, dass etwas wie dies funktionieren würde:
Get-ChildItem -path hklm:\software\microsoft\windows\currentversion\uninstall `
| ForEach-Object -Process { "$_.GetValue("DisplayName") `n" }
Aber das hat mir nur einen Fehler angezeigt.