Question Commande Compress-Archive

Plus d'informations
il y a 9 ans 4 mois #22560 par powerscriptbetta
Bonjour,

je viens de migrer sous powershell V5 afin de pouvoir utiliser la commande Compress-Archive seulement j'ai beau parcourir le forum y compris celui ou il est question de la commande Invoke-Command, je ne trouve pas ce qui cloche à ma ligne de commande.

je souhaite simplement compresser un dossier

[code:1]
$Sources = \"\\Serveur-Sources\Sources\"
$Archive = \"\\Serveur-Cible\Archive\"

Invoke-Command -Verbose -ComputerName \"Serveur-Sources\" -Credential $Credential -ArgumentList @($Sources,$Cible) {Compress-Archive -Path $args[0] -CompressionLevel Optimal -DestinationPath $args[1] -Verbose }
[/code:1]



cependant il me dit que le chemin d'accès n'est pas bon :huh:

[code:1]
Le chemin d'accès \\Serveur-Cible\Archive n'existe pas ou n'est pas un chemin d'accès au système de fichiers valide.
+ CategoryInfo : InvalidArgument : (\\Serveur-Cible\Archive: String) [Compress-Archive], InvalidOperationException
+ FullyQualifiedErrorId : ArchiveCmdletPathNotFound,Compress-Archive
+ PSComputerName : localhost
[/code:1]

le chemin et le résultat est bon si je n'utilise pas la commande Invoke-Command

[code:1]Compress-Archive -Path $Sources -CompressionLevel Optimal -DestinationPath $Archive-Verbose[/code:1]

le hic c'est que c'est le serveur qui exécute le script qui se retrouve surchargé au niveau du proc et non le serveur qui est sensé archiver le dossier...

La commande Compress-Archive peut être utilisé en argument ?
Quelqu'un à déjà essayé cette commande ??

merci pour vos réponse

Message édité par: powerscriptbetta, à: 27/10/16 16:12<br><br>Message édité par: powerscriptbetta, à: 28/10/16 09:48

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

Plus d'informations
il y a 9 ans 4 mois #22586 par Philippe
Réponse de Philippe sur le sujet Re:Commande Compress-Archive
bonjour powerscriptbetta

désolé pour cette réponse un peu tardive

je pense que le hic dans ton cas c'est le double hoc
une solution si je rappelle bien c'est de faire un credential sur le deuxième serveur. un invoke dans le invoke !
il existe une autre solution plus complexe mais qui fonctionne semble t-il !

maintenant que je suis un peu plus disponible, n'hésite pas à revenir posé des questions !

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

Plus d'informations
il y a 9 ans 4 mois #22596 par powerscriptbetta
Salut 6ratgus,

Merci pour ta réponse. :huh: en mode inception ??

je crois que je ne suis plus dans la catégorie débutant... j'ai atteint mes limites je pense...
j'ai beau mettre des invoke dans des invoke il me retourne retourne toujours \&quot;Le chemin d'accès \\Serveur-Cible\Archive n'existe pas\&quot; pour l'argument -DestinationPath

si je mets un chemin local il est content mais il ne veut pas de chemin réseau !!

:S

j'ai quand même l'impression que mon problème est similaire à ce sujet CredSSP <br><br>Message édité par: powerscriptbetta, à: 8/11/16 17:54

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

Plus d'informations
il y a 9 ans 4 mois #22597 par Arnaud Petitjean
Hello !

Oui je confirme qu'il s'agit bien d'un problème de double saut (\&quot;double hop\&quot;).

On ne peut pas, par défaut, et pour des raisons de sécurité rebondir d'un serveur à un autre avec PowerShell remoting.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 9 ans 4 mois #22600 par Philippe
Réponse de Philippe sur le sujet Re:Commande Compress-Archive

j'ai quand même l'impression que mon problème est similaire à ce sujet CredSSP

exact
comme te le confirme Arnaud c'est bien un pb de double Hop
ce blog traite le sujet du CredSSP

je te fais un rapide résumé :

sur ton PC tu execute cette ligne en elevation admin : (a faire une seule fois)
[code:1]Enable-WSManCredSSP -Role Client -DelegateComputer {*.ton_nom_de_domain} -force[/code:1]

sur le PC distant tu execute cette ligne en elevation admin : (a faire une seule fois)
[code:1]Enable-WSManCredSSP -Role Server [/code:1]
tu peux aussi le faire à distance :[code:1]Invoke-Command -ComputerName pc-distant -Credential $cred -ScriptBlock {
Enable-WSManCredSSP -Role Server -Force
}
[/code:1]


et tu peux enfin executé ton script avec option -Authentication CredSSP : B)
[code:1]
$Sources = \&quot;\\Serveur-Sources\Sources\&quot;
$Archive = \&quot;\\Serveur-Cible\Archive\&quot;

Invoke-Command -Authentication CredSSP -ComputerName \&quot;Serveur-Sources\&quot; -Credential $Credential -ArgumentList @($Sources,$Cible) {Compress-Archive -Path $args[0] -CompressionLevel Optimal -DestinationPath $args[1] -Verbose }[/code:1]

et oublie ma solution du invoke-command en mode double inception !!! :woohoo: :laugh:<br><br>Message édité par: 6ratgus, à: 9/11/16 16:45

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

Plus d'informations
il y a 9 ans 4 mois #22603 par powerscriptbetta
Super !!

Merci à vous

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

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