Использование команды PowerShell Copy-Item
для копирования файлов отлично работает локально, но при запуске в PSSession параметры -Filter, -Include и < em>-Exclude показывать никакого эффекта при копировании файлов с удаленного хоста на локальный компьютер. Я использую PowerShell 5.1 как на локальном, так и на удаленном компьютере.
Вот, примеры:
Local --› local: работает нормально (т.е. копирует только txt-файлы)
Copy-Item -Path C:\run\* -Filter *.txt -Destination C:\test\
Удаленный --› локальный: работает некорректно (игнорирует настройки фильтра и копирует все файлы)
$sess = New-PSSession -ComputerName <ComputerName> -Credential $cred Copy-Item -FromSession $sess -Path C:\run\* -Filter *.txt -Destination C:\test\
То же самое происходит при использовании
-Include *.txt
или-Exclude *.csv
.Локальный --› удаленный: работает нормально (копирует только txt-файлы):
$sess = New-PSSession -ComputerName <ComputerName> -Credential $cred Copy-Item -ToSession $sess -Path C:\run\* -Filter *.txt -Destination C:\test\
Спасибо за любые подсказки о том, что я делаю неправильно!
Enter-PSSession
для запуска локальной --> удаленной копии с вашего текущего пульта. Итак, получите сеанс на удаленном ящике, затем из этого сеанса получите сеанс на локальном ящике, а затем запустите локальную → удаленную копию из своего вопроса. - person derekbaker783   schedule 02.07.2020Enter-PSSession
, потому что сценарий должен запускаться без взаимодействия с пользователем. Надо было сказать это раньше, извини. - person Rantanplan   schedule 06.07.2020Invoke-Command -Session $sess -Scriptblock {Get-ChildItem C:\onremote\* -Include *.txt | Compress-Archive -DestinationPath "C:\onremote\textfiles.zip" -Force}
, затемCopy-Item "C:\onremote\textfiles.zip" -Destination "C:\onlocal\" -FromSession $sess -Recurse -Force
и, наконец,Expand-Archive -Path "C:\onlocal\textfiles.zip" -DestinationPath "C:\onlocal\" -Force
. - person Rantanplan   schedule 27.07.2020