Копирование содержимого папки сразу на несколько конечных узлов POSH
Имеется следующий вопрос, который хочется решить для ускорения процесса. Иногда приходится в ручную пропихивать обновления сигнатур Windows Defender. В чем основная проблема. Не совсем понимаю, как сделать так, чтобы раздать .exe не с помощью последовательного цикла foreach, если конечный ПК будет включен, а по аналогии c invoke-command $массивКонечныхУзлов {скрипт копирования с шары до локальной папки на ПК}. Пытался рассмотреть вариант в попытке запустить .bat, тут начинается уже затык с правами доступа, если у пользователя нет доступа на источник, то провал с данными. Куда еще можно копнуть?
# Скрипт для обновления антивирусной базы рабочих станций
$pathFileOffPC = "C:\Users\gricaiav\Desktop\Script\Reports"
# Место хранения актуальных версий БАЗ
$pathFrom = "\\hbrsoft\soft\_LIC_FreeWare\Defender\mpam10.exe"
# Вывод
$listPC = (Get-ADComputer -SearchBase {.....} | Where-Object -Property OperatingSystem -eq "Windows 10 Корпоративная").Name
$listPCWithOldBase =@()
$etalonBase = (Get-MpComputerStatus).AntivirusSignatureVersion
foreach ($pc in $listPC){
if (Test-Connection -ComputerName $pc -Count 1)
{
$baseDefenderPC = Invoke-Command -ComputerName $pc -ScriptBlock {(Get-MpComputerStatus).AntivirusSignatureVersion}
if($baseDefenderPC -eq $etalonBase){Continue}
else {
$listPCWithOldBase += "$pc"
}
}
else {
$pc | Out-File -FilePath "$pathFileOffPC\notConnectPC.txt" -Append
}
}
#TO DO копирование ПК на конечные узлы.
Invoke-Command -ComputerName $listPCWithOldBase -ScriptBlock
{&cmd.exe /c c:\windows\temp\mpam10.exe /silent}
Invoke-Command -ComputerName $listPCWithOldBase -ScriptBlock
{Remove-Item -Path c:\windows\temp\mpam10.exe}
'''