Я думаю, что хорошим решением здесь было бы перебрать все пользовательские папки, убедиться, что путь назначения существует, а затем выполнить копирование.
#Sets config file as source.
$Source = "$dirFiles\NewAgentAP\AgentAP.cfg"
#Recursive copying of a file to specific folder destination.
$Destination = 'AppData\Roaming\Trio\Trio Enterprise'
Get-ChildItem C:\Users\* -Directory | ForEach-Object {New-Item -Path (Join-Path $_.FullName $Destination) -ItemType "directory" -Force | Copy-Item -Path $Source -Destination $_ -Force}
Использование New-Item
для создания папки и переключатель -Force
заставит ее создать папку, если она не существует, и передать объект папки, или, если он существует, он просто передает папку. объект, ничего не делая.