2016-04-12 10 views
0

değişkenlerini kullanırken yerel kopya desteklenmiyor pscp komutuyla değişken kullanarak bir süre için uğraşıyorum.Powershell, pscp

ForEach ($Server in $Servers) 
{ 
.\pscp.exe -pw $password create_ssh [email protected]$Server:/home/$myUsername/create_ssh 
.\plink.exe -pw $password [email protected]$Server -C "uname -r" 
} 

Çıktı

Local to local copy not supported 
2.6.32-573.1.1.el6.x86_64 

orada değişkenini kullanarak dosyanın aktarılması ile herhangi bir sorunu isnt değil hostname belirtmek deneyin

. Ben değişken $ Sunucusu kullanmaya çalışırsanız Ancak, ben bir hata bunu kendisi değişken ama sorun olabileceğini düşündüm "Yerel kopya desteklenmiyor" olsun. \ Plink virgülleri kullanmaya çalıştık herhangi bir sorun

olmadan çalışır, kaçış @, tam yollar vs. hiçbir şey çalışmıyor gibi görünüyor. winscp.dll dosyasını kullanamıyorum çünkü bu özel durumda ana bilgisayar anahtarlarını otomatik olarak kabul etmem gerekiyor (bu yalnızca güvendedir, ancak yalnızca bu duruma özgüdür) - bu yalnızca pscp tarafından sağlanır.

Çok teşekkürler!

+0

WinSCP NET montaj otomatik konağın kabul destekliyor Bu kadar gibi sunucu değişken için subexpression operatörünü $() kullanmak gerekir çıkıyor Anahtarlar (pscp'ye tam tersi olarak, ['SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey'] (https://winscp.net/eng/docs/library_sessionoptions#giveupsecurityandacceptanysshhostkey) işlevini kullanın. –

cevap

0

Bunun çok eski olduğunu biliyorum, ancak bu konuda da tökezledim. Yani komutlar şu şekilde görünecektir

$($Server) 

:

.\pscp.exe -pw $password create_ssh [email protected]$($Server):/home/$myUsername/create_ssh 
.\plink.exe -pw $password [email protected]$($Server) -C "uname -r" 
+0

Çok teşekkürler! –