Вам необходимо передать полный путь к методу сохранения (например, $ xml.save ((Resolve-Path $ xmlfile))) Когда вы приводите переменную к [xml] в powershell, она загружает xml в объект XmlDocument , которая является частью. NET Framework. Он не знает о PowerShell, поэтому он не знает, в каком каталоге находится ваша оболочка. Таким образом, ваш код выше сохраняет документ, но не в том месте, где вы ожидаете.