Ich wollte einfach Dateien älter als 30 Tage von "x" nach "y" verschieben, aber ich bekomme den folgenden Fehler .. Move-Item: Das Eingabeobjekt kann nicht an irgendwelche Parameter für den Befehl gebunden werden, weil der Befehl dies tut Pipelineinput nicht nehmen, oder die Eingabe und ihre Eigenschaften stimmen nicht mit den Parametern überein, die die Pipelineeingabe verwenden.Move-Item: Das Eingabeobjekt kann nicht an Parameter für den Befehl gebunden werden, weil der Befehl keine Pipeline-Eingabe benötigt.
Gedankenschrift war einfach genug? Irgendwelche Vorschläge?
# Move All Files From One Location To New Location Older than 30 day(s)
$LocationX = "\\Server\LogFiles\"
$LocationY = "\\BackupServer\LogFiles\"
$Daysback = "-30"
$CurrentDate = Get-Date
$DatetoMove = $CurrentDate.AddDays($Daysback)
Get-ChildItem $LocationX | Where-Object { $_.LastWriteTime -lt $DatetoMove } | Move-Item $LocationX $LocationY -Force
Sie haben die Parameter gefüllt, die die Pipeline gefüllt hätte. Die Datei weiß bereits, wo sie sich befindet, daher muss dieser Pfad nicht angegeben werden. '| Move-Item -Destination $ LocationY -Force' – Matt