2016-01-06 1 views
0

J'ai la fonction suivante à robocopy (miroir) fichiers de $sourcepath à $targetPath et fonctionne très bien. Comment vais-je atteindre la même chose si la machine $targetPath est dans un autre domaine?Comment voler le dossier entre 2 serveurs dans différents domaines?

-à-dire SourceServer - Domain1, targetserver - Domaine2

function evpcopy { 
    begin { 
    #Recommended options 
    $switchNP = "/NP" #No Progress - don't display percentage copied 

    #Copy options 
    $switchMIR = "/MIR" #MIRror a directory tree (equivalent to /E plus /PURGE) 
    $switchR = "/R:3" #number of Retries on failed copies: default 1 million 
    $switchW = "/W:1" #Wait time between retries: default is 30 seconds 

    $sourcePath = '\\sourceServer\d$\EVP' 
    $targetPath = '\\targetServer\d$\EVP' 

    #Log File Function 
    $InputLogFile = 'D:\logs' 

    if (!(Test-Path -Path $InputLogFile)) { 
     Write-EventLog -LogName Application -source EvpScript -EventId 1234 -message "path $InputLogFile doesn't exist! `n" 
    } 

    $logfile = $InputLogFile + "\" + ((Get-Date).ToString('yyyy-MM-dd')) + "_" + $sourcePath.Split('\')[-1].Replace(" ", "_") + ".txt" 
    $switchlogfile = "/TEE", "/LOG+:$logfile" 
    } 

    process { 
    $run = robocopy.exe $sourcePath $targetPath $switchNP $switchR $switchW $switchMIR $switchlogfile | 
      foreach { $ErrorActionPreference = "silentlycontinue" } 
    } 

    end {} 
} #end robocopy function 

evpcopy 
+0

Peut-être que vous utilisez un 'PSSession'? https://technet.microsoft.com/en-us/library/hh849707.aspx – ne1410s

Répondre

2

Carte du chemin cible sur un lecteur et copier à ce lecteur:

net use X: $targetPath /user:Domain2\username password 
robocopy $sourcePath X: ... 
net use X: /delete 

La dernière ligne est de supprimer le lecteur une fois que vous » re fini, donc il ne reste pas longtemps.

+0

merci Angsar. J'ai utilisé l'équivalent powershell, qui est new-psdrive et créé Z: pour le targetPath. Maintenant, je suis en mesure d'exécuter avec succès robocopy $ sourcePath Z: ... – medinibster

+0

tout fonctionne bien à partir de ISE. maintenant mon problème est que j'ai besoin de créer une tâche planifiée qui fonctionne 2 fois par jour. continue de voler $ sourcePath à Z :. J'ai utilisé le même compte utilisateur pour configurer la tâche planifiée utilisée pour créer le lecteur Z :. mais en cours d'exécution sur la tâche planifiée, cela me donne l'erreur .. 2016/01/08 00:12:06 ERREUR 3 (0x00000003) Création du répertoire de destination Z: \ Le système ne peut pas trouver le chemin spécifié. – medinibster

+0

Avez-vous essayé avec 'net use'? –