Так вы хотите таки чтобы не скачивался по новой или вам всё равно ?
Скачивать можно в $env:temp, тогда проверять не придётся.
Папку для распаковки создавать с ключом -Force тогда не будет ругаться на её наличие
Если качать не хочется, сразу проверять существование файла, а не папки
проверку на битность можно вынести в начало, чуть упростить и использовать потом в имени файла для проверки и запуска
$bits = (Get-WmiObject win32_operatingsystem).OSArchitecture -replace '\D+'
и потом прямо в имя подставлять через if или из хеша, например, как нравится
$filename = "C:\Admins\Add\BGInfo\Bginfo" + (if ($bits -eq '64) { '64' } else { '' } ) + ".exe"
$filename = "C:\Admins\Add\BGInfo\Bginfo" + @{'64'=64; '32'=32 }[$bits] + ".exe"
if (test-path $filename) .....
А можно ещё качать со своей сети, где держать сразу два архива для разных битностей с соответствующим файлом внутри и с названием bginfo32/bginfo64 чтобы ещё проще было
Ещё можно битность определять по наличию переменных окружения, а не через wmi-так быстрее будет