次のコードは、ディレクトリを取得し、それぞれのメニュー項目を作成します。Add_Click 部分までは問題なく動作します。何らかの理由で、どのボタンがクリックされても同じファイルを吐き出すだけです。
$directory = Get-ChildItem -Path ($relative_path + "/scripts")
foreach ($file in $directory)
{
$mnuTemp = New-Object System.Windows.Forms.MenuItem
$mnuTemp.Text = $file.Name
$mnuTemp.Add_Click({Write-Host $file.Name})
$mnuScripts.MenuItems.Add($mnuTemp)
}