2012-07-10 323 views
3

我有两台计算机说 计算机-A:云上的天蓝色虚拟机角色。机器B:我的网络域上的一台机器。将文件夹从远程计算机(Azure)复制到远程计算机

可以远程登录到两个 MACHINEA和到machineB(使用RDP)和复制说从位置的文件夹 '临时' \ MachineA.cloudapp.net \ C $ \ TEMP到\到machineB \ C $ \

如何通过编程实现这个功能,最好通过PowerShell脚本实现?

我想:

$rm = new-object RemoteMachine 
$pass = ConvertTo-SecureString -AsPlainText $rm.Password -Force 
$Cred = New-Object System.Management.Automation.PSCredential -ArgumentList $rm.Username,$pass 
Invoke-Command -ComputerName $rm.MachineName -Credential $Cred -ScriptBlock{ 
# Copy folder 
} 

其中RemoteMachine是:

public class RemoteMachine 
{ 
    public string MachineName="MachineA.cloudapp.net"; 
    public string Username="remote"; 
    public string Password="password";  
    } 
} 

它失败,登录失败,虽然我使用相同的凭据为RDP。 我有另一个疑问,即使登录是可能的,那么MachineA将如何知道MachineB?

可能我缺少一些简单而直接的东西!

回答

0

PowerShell远程需要在VM上启用:

PS> Enable-PSRemoting 

然后,您应该能够偏远,经过管理员的凭据机器上:

Invoke-Command -ComputerName MachineA -Credential username -ScriptBlock { 
# Copy folder 
} 

如果username是一个域帐户,请确保包含该域(例如DOMAIN\username)。 PowerShell会提示你输入密码。

因为您从MachineA复制到MachineB,您可能遇到双跳问题。要从MachineA连接到MachineB,PowerShell需要再次输入凭证(用户名/密码),并且MachineA上没有它们。您必须启用名为CredSSP的功能才能允许在机器之间存储和共享凭证。

  • 机器接收所述凭证必须被配置为接收它们(即,充当服务器)
  • 机器发送所述凭证必须被配置为发送它们(即充当客户端)

有关启用CredSSP的详细信息,请参阅我在this question上的回答。

+0

Nope已经尝试过。 :(没有成功,即使登录是可能的,那么MachineA将如何知道MachineB? – dushyantp 2012-07-11 14:08:08

相关问题