Копирование содержимого папки сразу на несколько конечных узлов 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}
'''

Ответы (0 шт):