2017-01-09 1 views
0

J'essaye actuellement d'implémenter une fonctionnalité (de préférence en PowerShell), qui copierait régulièrement (toutes les heures) un certain dossier de mon ordinateur de bureau vers un autre ordinateur.Comment est-ce que je peux copier un dossier entier à une certaine adresse IP avec powershell?

L'autre ordinateur n'est pas répertorié dans mon réseau local, mais j'ai l'adresse IP, ainsi que les informations d'identification d'un utilisateur avec le nom d'utilisateur et le mot de passe nécessaires. Jusqu'ici, j'ai essayé d'utiliser robocopy, mais je n'arrive pas vraiment à comprendre comment le faire fonctionner.

Si cela est important: Mon ordinateur de bureau fonctionne sous Windows 10, alors que l'autre est un Raspbian fonctionnant sous Raspbian.

Existe-t-il un exemple de code disponible pour les tentatives déjà réussies?

+2

Quel protocole vous souhaitez vous servir pour la copie? Le code pour le téléchargement sur FTP sera différent de la copie sur un partage SMB ... –

Répondre

2

robocopy ne gère pas l'authentification. Si vous devez fournir des informations d'identification pour accéder à un partage distant (SMB), vous devez le mapper sur une lettre de lecteur avant de pouvoir l'utiliser avec robocopy. C'est en supposant que votre RasPi utilise Samba.

net use X: \\192.168.23.42\share /user:username password 
robocopy C:\some\folder X:\ /s 
net use X: /d 

Le code ci-dessus s'exécute dans CMD ainsi que dans PowerShell.

Vous pouvez également mapper les lecteurs réseau via New-PSDrive, mais qui nécessite un peu plus de code:

$pw = ConvertTo-SecureString -String 'password' -AsPlainText -Force 
$cred = New-Object Management.Automation.PSCredential ('username', $pw) 
New-PSDrive -Name X -PSProvider FileSystem -Root '\\192.168.23.42\share' -Credential $cred -Persist | Out-Null 
robocopy C:\some\folder X:\ /s 
Remove-PSDrive -Name X 

Si vos informations d'identification ne sont pas pour les PME, mais pour un accès SSH, vous pouvez utiliser le WinSCP .Net assembly.

+0

Cela semble très prometteur! Je vais essayer dès que possible – Sossenbinder

1

Si ssh est activé sur votre framboise (ce qui est normalement le cas), vous pouvez utiliser WinScp. WinScp offre un tas d'options de ligne de commande et de script vérifier le WinScp website. Vous pouvez créer votre propre script de copie WinSCP et démarrer via:

winscp.com /script=script.txt

espoir qui aide.

enter link description here