Подозреваю что дело в двух вещах:
1. использование переменной окружения %inetpub_path% в скрипте powershell. Никогда не задумывался будет ли это работать, но в Posh переменные окружения используются так: $ENV:HOMEPATH вместо %HOMEPATH%
В скриптах cmd, напоминаю, так же необходимо удвоение знаков %
2. использование переменных в запуске консольной программы напрямую
Здесь попробуйте использовать start-process "xcopy.exe" -argumentlist "все необходимые вам аргументы с переменными"
Или же Invoke-Expression -command "xcopy.exe все необходимые вам аргументы с переменными"