Powershell: Copy-Item -Recurse -Force не копирует все вложенные файлы
У меня есть один вкладыш, который встроен в более крупный сценарий для некоторых экспертов высокого уровня. Это простая команда copy-item, которая записывает папку dest и ее содержимое обратно на мой сервер. Код работает отлично, НО даже с переключателями:
-Recurse -Force
Он не возвращает файл с расширением.dat. Как вы можете догадаться, чего я пытаюсь достичь, мне нужен файл.dat для анализа. Я запускаю это с привилегированной учетной записи. Я думал только о том, что это конфликт чтения / записи, и файл хоста в настоящее время использует его (или другой файл sys). Какой переключатель мне не хватает? "Режим" для файла, который не будет копироваться, является -a---. Не спрятано, просто не копируется. В других предложениях говорилось об использовании xCopy/robocopy- если возможно, я не хочу называть другую зависимость - я уже использую powershell для большинства сценариев, я предпочитаю придерживаться этого.... Есть мысли? Спасибо заранее, этот немного пощекотал мой мозг...
1 ответ
Единственный способ скопировать используемый файл - найти закрывающий дескриптор блокировки и повторить операцию копирования (handle.exe
).
Из вашего вопроса похоже, что вы пытаетесь удаленно копировать профили пользователей, который включает в себя ntuser.dat
и другие файлы, необходимые для правильной работы профиля. Даже если вам удалось найти способ разгрузить dat
файл (ы), вы должны учитывать влияние, которое будет иметь на удаленной системе.
Теневое копирование обычно используется программами резервного копирования для копирования используемых файлов, поэтому лучше всего было бы найти последнюю резервную копию каждого удаленного компьютера, а затем попытаться извлечь необходимые файлы из резервных копий или, возможно, дождаться выхода пользователя из системы. а потом попробуй.