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

相关内容