$BackupDirectoy = "..\Backup"
$CodeDirectory = "..\Code"
Эти пути будут относиться к текущему каталогу, в котором находится ваше приглашение при запуске сценария. Я подозреваю, что вы не хотите этого, но хотите запустить относительно того, где расположен скрипт . Попробуйте это, если это так:
$ScriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent
$BackupDirectoy = "$ScriptDir\..\Backup"
$CodeDirectory = "$ScriptDir\..\Code"