
Mein PowerShell-Befehl „Copy-Item“ generiert einen Fehler, für den ich keine Referenzen finden kann.
Mit PowerShell 4.x versuche ich, Dateien vom lokalen Laufwerk auf einen Remote-Server (dasselbe Netzwerk/dieselbe Domäne) zu kopieren. Der Remote-Pfad existiert und ist leer.
Der folgende Copy-Item
Befehl aus diesem Skript erzeugt (soweit ich das beurteilen kann) bei jeder kopierten Datei den folgenden Fehler:
$SessionTarget = New-PSSession -ComputerName "MYSERVER1"
Copy-Item -Path "C:\Websites\XXX\*" -Destination "C:\Websites\XXX\" -ToSession $SessionTarget -Recurse
Der Fehler:
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
Die gute Nachricht ist, dass die Dateien anscheinend kopiert werden.
Irgendwelche Ideen, was dieser Fehler verursacht?
Danke schön!
Antwort1
Wie von Keith Miller weiter unten angemerkt (danke!), beziehen sich diese Werte auf die „neuen“ Dateiattribute.
Ich habe eine einzelne Datei gefunden, bei der der Fehler auftrat, ihre aktuellen Attribute überprüft und festgestellt, dass sie das Attribut „(U)“ hatte:
'attrib .\MeineDatei.txt'
(U) 0x100000 Nicht angeheftet (OneDrive „nur online verfügbare Dateien“)
Anschließend habe ich dieses Attribut entfernt und konnte den Copy-Item
Befehl ohne Fehler verwenden:
attrib .\MeineDatei.txt -U
Dieser Beitrag enthält eine gute Auflistung aller Attribute und ihrer Bitwerte:
Antwort2
1179648 = 0x00120000
Diese entsprechen den „neueren“ Attributen:
Unpinned = 0x00100000
NoScrubData = 0x00020000