これを理解しようとして、数日間壁に頭をぶつけました..次のコマンドの出力を取得しようとしています。各行の先頭にホスト名を付けてCSVとしてエクスポートします
$reg1 = Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where {$_.DisplayName -ne $null }
$reg1 | select DisplayName,InstallDate
最終的な CSV 出力は次のようになりますが、アンインストール キーの各項目について
Office_Computer,PuTTY version 0.63,20140319
最初に見たいフィールドを選択してから、新しい配列でforeachを実行して、foreach-objectを実行しようとしました
$test = $reg1 | select DisplayName,Installdate
$test | foreach-object {"$hostname,$_"}
それは機能しますが、出力は以前のような素敵なテーブルではありません...次のようになります
PDMZ-SUPT1,@{DisplayName=PuTTY version 0.63; InstallDate=20140319}
私が探しているのはカスタムオブジェクトだと思いますが、それを機能させる方法がわかりません。ああ、ご参考までに、このコマンドは複数のコンピューターで実行され、「インストールされたアプリケーション」の 1 つのファイルが作成されます。どのコンピュータにどのソフトウェアがインストールされているかを知るために、ホスト名が追加されます。
ありがとう