This seems to work as is on PowerShell v3. I don't have v2 handy to test with, but there are two options that I'm aware of, which ought to work. First, you could map PSDrives:
New-PSDrive -Name source -PSProvider FileSystem -Root \machine1abc123 | Out-Null
New-PSDrive -Name target -PSProvider FileSystem -Root \machine2c$Logs | Out-Null
Copy-Item -Path source:log_1.zip -Destination target:
Remove-PSDrive source
Remove-PSDrive target
If this is something you're going to do a lot, you could even wrap this in a function:
Function Copy-ItemUNC($SourcePath, $TargetPath, $FileName)
{
New-PSDrive -Name source -PSProvider FileSystem -Root $SourcePath | Out-Null
New-PSDrive -Name target -PSProvider FileSystem -Root $TargetPath | Out-Null
Copy-Item -Path source:$FileName -Destination target:
Remove-PSDrive source
Remove-PSDrive target
}
Alternately, you can explicitly specify the provider with each path:
Copy-Item -Path "Microsoft.PowerShell.CoreFileSystem::\machine1abc123log 1.zip" -Destination "Microsoft.PowerShell.CoreFileSystem::\machine2\c$Logs"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…