Question Copie de fichier entre serveurs distants

Plus d'informations
il y a 1 an 6 mois #28555 par charrierp
Bonjour,

A partir d'un serveur X, je souhaite copier un fichier d'un serveur Y vers un serveur Z.

Voici mon code

# Copie du fichier Version.zip dans le repertoire etc
LogMessage -Message \"Debut de la copie de Settings.ini dans etc\"
$PathFrom=\"\\P75NBLBIA45\ARCINFORMATIQUE\Usr\TeleoperationSNCF\Version.zip\"
$PathTo=\"\\\"+x64lmwbin9z+\"\\"+$RemoteAccess+\"\gestion_version\Deploiement_PO\PF1\\"
LogMessage -Message \" - PathFrom : $PathFrom\"
LogMessage -Message \" - PathTo : $PathTo\"
Copy-Item $PathFrom $PathTo
LogMessage -Message \"Fin de la copie de Settings.ini sur le PO - SUCCESS\" -ForegroundColor green
LogMessage -Message \"
\"


et le message que me retourne mon fichier log

At D:\deploiement_projet\Deploiement_Auto_zip_PF1.ps1:103 char:18
+
$PathTo=\"\\\"+x64lmwbin9z+\"\\"+$RemoteAccess+\"\gestion_version\Deploiement_PO\
...
+ ~
You must provide a value expression following the '+' operator.
At D:\deploiement_projet\Deploiement_Auto_zip_PF1.ps1:103 char:18
+
$PathTo=\"\\\"+x64lmwbin9z+\"\\"+$RemoteAccess+\"\gestion_version\Deploiement_PO\
...
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token
'x64lmwbin9z+\"\\"+$RemoteAccess+\"\gestion_version\Deploiement_PO\PF1\\"' in
expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordEx
ception
+ FullyQualifiedErrorId : ExpectedValueExpression


si quelqu'un peut m'aider à résoudre ce problème, je suis preneur

cordialement

Patrick

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #28556 par hichammadd
SLt,

comme ca peut être

[code:1]$PathTo=\"x64lmwbin9z\"+$RemoteAccess+\"gestion_versionDeploiement_POPF1\"[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #28557 par charrierp
Avec mes remerciements.

Mais ça ne fonctionne pas dans le cadre d'une copie entre serveurs distant.

cdlt

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #28559 par PatriceLT
Salut,

Pourquoi ne pas utiliser de l'invoke-command, tout en passant par du BitsTransfert ?

Je ne sais pas ce qu'en penses nos ainés développeurs, mais c'est peut être une bonne piste à prendre.

Si tu as besoin de plus de précision, je pourrai te pondre un bout de code vis à vis de ça.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 5 mois #28562 par charrierp
Salut,

Merci pour la réponse.
Je veux bien ton aide pour le bout de code que tu proposes

cdlt

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 5 mois #28590 par PatriceLT
Voici mon post, dedans tu y trouveras tout ce qu'il faut, j'ai utilisé cela lorsque je fais du déploiement massif de mise à jour windows sur des serveurs.

Cependant il a été un peu modifié depuis le temps, afin de factoriser le code, et permettre d'appeler des fonctions, plutôt que du copier coller.

powershell-scripting.com/index.php?optio...id=28540&catid=5

Pour la tâche planifié :

[code:1]
\"3\" # Création de la tache planifiée #
{

$Log_f_file = \"$CheminLogs\OK_prod_CreateTask_Log_$Date.txt\"
$Logs_r_file = \"$CheminLogs\NOK_prod_CreateTask_Log_$Date.txt\"

foreach($Serveur in $ImportFichierCsvPROD){
if(Invoke-Command -ComputerName $Serveur -ScriptBlock { `
$TacheGeneralNom = \"Patch Management - Wsus\"
$TacheGeneralDescription = \"WSUS\"
$TacheActionProgramme = \"powershell.exe\"
$TacheActionCheminArg = \"C:\temp\DeploiementPatch.ps1\"
$TacheActionArguments = \"-Executionpolicy Bypass -file $TacheActionCheminArg\"

$ServiceObjet = New-Object -ComObject(\"Schedule.Service\"«»)
$ServiceObjet.Connect()

$TacheChemin = $ServiceObjet.GetFolder(\"\\"«»)

$TacheDefinition = $ServiceObjet.NewTask(0) # Doit-Être à 0
$TacheDefinition.RegistrationInfo.Description = \"$TacheGeneralDescription\"
$TacheDefinition.Settings.Enabled = $True
$TacheDefinition.Principal.RunLevel = 1
$Triggers = $TacheDefinition.Triggers
$Action = $TacheDefinition.Actions.Create(0)
$Action.Path = $TacheActionProgramme
$Action.Arguments = $TacheActionArguments
$TacheChemin.RegisterTaskDefinition($TacheGeneralNom,$TacheDefinition,6,\"System\",$null,5)`
})
{
Log_f \"[CREATE-TASK];$($Serveur);OK\"
}
else{
Logs_r \"[CREATE-TASK];$($Serveur);NOK\"
}

}
}
[/code:1]<br><br>Message édité par: PatriceLT, à: 28/03/19 10:50

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.286 secondes
Propulsé par Kunena