ここに初めてポスターを投稿しました。私は少し初心者で、PowerShell スクリプトのスキルをゼロまで上げたいと思っていましたが、ややこしいものに出くわしました...
コンピューターのコレクションにクエリを実行するスクリプトを作成しました。Win32_OperatingSystem にクエリを実行したいのですが、PSObject にデータを入力できるようにビルド番号のみを推定します。ビルド番号が 7601 の場合に OS 列の下にメッセージを書き込めるように、いくつかの If ロジックを追加しようとしています。
私が抱えている問題は、たとえば BuildNumber の値が 7601 ではなく @{BuildNumber=7601} として出力されることです。それと、私の If ステートメントが壊れています。
$Machines = Get-Content .\Computers.txt
Foreach($Machine in $Machines)
{
$sweet = (Get-WmiObject -Class Win32_OperatingSystem -computer $Machine | Select-Object BuildNumber)
$dversion = if ($sweet -eq "@{BuildNumber=7601}") {Yes!} else {"Nooooo!"}
New-Object PSObject -Property @{
ComputerName = $Machine
Sweet = $sweet
OS = $dversion
}
}