PS Ошибка копирования элемента: невозможно преобразовать значение XXX в тип «System.IO.FileAttributes» из-за недопустимых значений перечисления

PS Ошибка копирования элемента: невозможно преобразовать значение XXX в тип «System.IO.FileAttributes» из-за недопустимых значений перечисления

Моя команда PowerShell Copy-Item выдает ошибку, для которой я не могу найти никаких ссылок.

Используя PowerShell 4.x, я пытаюсь скопировать файлы с локального диска на удаленный сервер (та же сеть/домен). Удаленный путь существует и пуст.

Следующая Copy-Itemкоманда из этого скрипта генерирует следующую ошибку (насколько я могу судить) для каждого скопированного файла:

$SessionTarget = New-PSSession -ComputerName "MYSERVER1"

Copy-Item -Path "C:\Websites\XXX\*" -Destination "C:\Websites\XXX\" -ToSession $SessionTarget -Recurse

Ошибка:

    Copy-Item : Exception setting "Attributes": "Cannot convert value "1179648" to type "System.IO.FileAttributes" due to enumeration values that are not valid. Specify one of the following enumeration values and try again. The possible enumeration values are "ReadOnly, Hidden, System, Directory, Archive, Device, Normal, Temporary, SparseFile, ReparsePoint, Compressed, Offline, NotContentIndexed, Encrypted, IntegrityStream, NoScrubData"."

At C:\Websites\XXX_Deployment\Deploy.ps1:6 char:1

+ Copy-Item -Path "C:\Websites\XXX\*" -Destination "C:\Websites\XXX ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], SetValueInvocationException
    + FullyQualifiedErrorId : ExceptionWhenSetting

Хорошая новость в том, что файлы, похоже, копируются.

Есть ли у вас мысли о причине этой ошибки?

Спасибо!

решение1

Как отметил мой Кейт Миллер ниже (спасибо!), эти значения связаны с «новыми» атрибутами файла.

Я нашел один файл, в котором возникала ошибка, проверил его текущие атрибуты и обнаружил, что у него есть атрибут «(U)»:

'attrib .\MyFile.txt'

(U) 0x100000 Незакреплено (OneDrive «файлы только для онлайн-доступа»)

Затем я удалил этот атрибут и смог использовать Copy-Itemкоманду без ошибок:

атрибут .\MyFile.txt -U

В этом посте представлен хороший список всех атрибутов и их битовых значений:

Значения столбцов атрибутов файлов в проводнике Windows

решение2

1179648 = 0x00120000

Они соответствуют «более новым» атрибутам:

  • Unpinned = 0x00100000
  • NoScrubData = 0x00020000

Больше информации:https://www.google.com/search?q=file+attributes+noscrubdata+unpinned&rlz=1C1JJTC_enUS1014US1014&oq=file+attributes+noscrubdata+unpinned&aqs=chrome..69i57j0i546l3.36771j1j7&sourceid=chrome&ie=UTF-8

Связанный контент