PS コピー項目エラー: 列挙値が無効なため、値 XXX をタイプ "System.IO.FileAttributes" に変換できません

PS コピー項目エラー: 列挙値が無効なため、値 XXX をタイプ "System.IO.FileAttributes" に変換できません

Copy-Item PowerShell コマンドでエラーが発生し、参照先が見つかりません。

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

下記の Keith Miller が指摘したように (ありがとうございます!)、これらの値は「新しい」ファイル属性に関連しています。

エラーが発生している単一のファイルを見つけ、その現在の属性を確認したところ、'(U)' 属性があることがわかりました。

'属性.\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

関連情報