Copy-Item -ToSession do Powershell v 5.0 para v 2.0

2

Estou tentando copiar um arquivo em uma rede de um servidor Windows 2012r2 executando o PowerShell 5.0 para um servidor 2008 r2 executando o PowerShell 2.0. Eu estou tentando fazer isso usando o comando Copy-Item. O script que executa o comando é:

$secPassword = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ($userName, $secPassword)
$sessionOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck

$session = New-PSSession -Computername $computerName -SessionOption $sessionOptions -Credential $cred 

Copy-Item -Path $source -Destination $destination -ToSession $session

Ao executar o comando, recebo o seguinte erro:

Copy-Item : Unable to index into an object of type System.IO.FileInfo. At C:\Users\pmartin.CLUBSOFTINC\Documents\Repos\Test\PowerShell\test.ps1:21 char:1 + Copy-Item -Path $source -Destination $destination -ToSession $session + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (0:Int32) [Copy-Item], RuntimeException + FullyQualifiedErrorId : CannotIndex

Depois de fazer alguma pesquisa , parece que isso é causado por um problema de compatibilidade no PSv2 em que um valor é retornado index [0] de um elemento não-array não retorna o elemento (comparado ao PSv5 que retornaria o elemento).

Existe uma solução alternativa para esse problema? Se sim, como posso implementá-lo no meu script?

    
por PrestonM 10.01.2018 / 21:59

0 respostas