Question Module SSH

Plus d'informations
il y a 12 ans 3 mois #12606 par SiSMik
Module SSH a été créé par SiSMik
Bonjour,

Dernier module en date ici

Il vous faut la dll qui correspond à votre .NET Framework sur le site sshnet.codeplex.com
Pour le framework 4.0 et pour le Framework 3.5 .

Une fois cette dll téléchargée (et déblockée pour la 4.0) il vous faut éditer la ligne suivante et remplacer le chemin par celui qui pointe vers votre dll.

[code:1]$AssemblyFile = 'D:\Powershell\dev\Renci.SshNet.4.0.dll'[/code:1]

Ensuite vous importez le module.

et après
Get-Help <votre commande>

Enjoy :)

[Edit 03/01/2012]: shoot du précédent module et ajout des explications concernant la dernière mouture<br><br>Message édité par: benduru, à: 3/01/13 19:44

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

Plus d'informations
il y a 12 ans 3 mois #12630 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Module SSH
Salut Fabien,
benduru écrit:

Si vous avez des remarques ou des optimisations à proposer je suis évidement preneur

Moi m'sieu, moi j'en ai...

Le nom de module SSH est suffisant, la décompresion de l'archive ne demande rien d'autre comme manip.

Lors d'une premier installe, la vérification des prérequis ne serait pas du luxe.

ipmo ssh -verbose
COMMENTAIRES : Chargement du module à partir du chemin
« C:\Users\Laurent\Documents\WindowsPowerShell\Modules\ssh\ssh.psm1 ».
Exception lors de l'appel de « LoadFile » avec « 1 » argument(s) : « Le fichier spécifié est introuvable. (Exception de
HRESULT : 0x80070002) »
Au niveau de C:\Users\Laurent\Documents\WindowsPowerShell\Modules\ssh\ssh.psm1 : 34 Caractère : 32
+ [Reflection.Assembly]::LoadFile &lt;&lt;&lt;&lt; ('C:\Temp\Renci.SshNet35.dll') | out-null
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

COMMENTAIRES : Importation de la fonction « Get-SSHFile ».
COMMENTAIRES : Importation de la fonction « Get-SSHList ».
COMMENTAIRES : Importation de la fonction « Invoke-SSHCommand ».
COMMENTAIRES : Importation de la fonction « New-SFTPSession ».
COMMENTAIRES : Importation de la fonction « New-SSHSession ».
AVERTISSEMENT : Certains noms de commandes importés contiennent des verbes non approuvés qui les rendent moins
détectables. Utilisez le paramètre Verbose pour plus d'informations ou tapez Get-Verb pour obtenir la liste des verbes
approuvés.
COMMENTAIRES : Le nom de commande « Put-SSHFile » contient un verbe non approuvé qui le rend moins détectable. Les
verbes de remplacement suggérés sont « Send, Write ».
COMMENTAIRES : Importation de la fonction « Put-SSHFile ».
COMMENTAIRES : Importation de la fonction « Remove-SFTPSession ».
COMMENTAIRES : Importation de la fonction « Remove-SSHSession ».

Deux liens sur les conventions de nommage de PS, les verbes et les paramètres .

Côté code, je ne comprend pas le test, dans les lignes suivantes de la fonction 'New-SSHSession' :
[code:1]
Try {
$Client.Connect()
if ($Client -and $Client.IsConnected) {
[/code:1]
Ensuite, qq valeurs de tests sur les paramètres des différentes fonctions te remonteraient qq erreurs.

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 2 mois #12659 par SiSMik
Réponse de SiSMik sur le sujet Re:Module SSH
Salut Laurent,

Laurent:

[code:1] Try {

$Client.Connect()

if ($Client -and $Client.IsConnected) {
[/code:1]


Je vérifie juste que l'objet existe bien.. après la propriété IsConnected se suffit à elle même on est bien d'accord... Encore un matin pas réveillé, où dégoûté de plus être en vacances :evil:

Je vais attendre d'être au boulot lundi, j'ai des idées de nouvelles fonctions, et oui je vais rajouter plus de contrôles :P

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

Plus d'informations
il y a 12 ans 2 mois #12844 par SiSMik
Réponse de SiSMik sur le sujet Re:Module SSH
J'ai changer le nom de fonctions ainsi que modifier le système qui permettait de s'identifier avec une clef + la passphrase.

Vous pouvez téléchopper la dernière version en bas :p

@+

La pièce jointe SSH.zip est absente ou indisponible

Pièces jointes :

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

Plus d'informations
il y a 12 ans 2 mois #12847 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Module SSH
Je viens de tester rapido , tu devrais refaire une passe sur les exemples donnés. Celui -ci ne fonctionne pas :
[code:1]
Get-SSHFile -Client $Client -File \&quot;/var/www/text/truc\&quot; -Destination \&quot;C:\temp\machin.bidule\&quot;
[/code:1]
Tu as ajouté des paramètre mais pas la doc associée.

Pour ceci, dans Get-SSHFile,:
[code:1] $FileStream.Flush()
$FileStream.Close()
$FileStream.Dispose()[/code:1] il est préférable d'utilser une bloc Finally. Et souvent en .NET la méthode Close() appel en interne Dispose, consulte la doc pour être sûr, ce qui fait que les 2 appels sont redondants.

Et pour le support, comme c'est toi qui le fait autant te faciliter la vie ('TON script y marche pas!'), la clause Catch ne contient pas la cause réelle de l'erreur.
Tu peux utiliser -ErroRecord un exemple +- lié :
[code:1]
$PSCmdlet.WriteError(
(New-Object System.Management.Automation.ErrorRecord(
(New-Exception $_.Exception ($TextMsgs.ReplaceRegExCreate -F $_.Exception.Message)),
\&quot;ReplaceRegExCreate\&quot;,
\&quot;InvalidOperation\&quot;,
(\&quot;[{0}]\&quot; -f $Key)
)
)
)#WriteError
[/code:1]
Cela demande beaucoup plus de code, mais le gain se fait lors de la recherche de la cause du bug.
Ou comment perdre du temps pour en gagner ;)

Enfin tu devrais livrer ton module avec la dll dépendante et la charger en relatif avec $PSScriptRoot.
Une fois ceci fait tu livres aux admins une solution et pas une source de 'problèmes' :)

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 2 mois #12855 par SiSMik
Réponse de SiSMik sur le sujet Re:Module SSH
En fait, la dll ne renvoit pas d'informations, ou très peu sur les erreurs au niveau des connexions.
Le mieux est d'aller voir les logs sur le serveur ssh.

Je me souvenais plus que j'avais rajouter des paramètres, je relivrerais une version plus aboutie dès que j'ai 5 min ;)<br><br>Message édité par: benduru, à: 6/10/12 18:38

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

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