Führen Sie mehrere Befehle über SSH und PowerShell aus
Es ist mir gelungen, über SSH eine Verbindung zu einem Cisco IE-2000-L-Switch herzustellen. Ich habe das benutztRenci SSH.NET Bibliothek.
Startanleitung:http://vwiki.co.uk/SSH_Client_(PowerShell)
Mein Arbeitscode ist# Load SSH library (for .NET 4.0 and PowerShell 3)
$DllPath = "D:\temp\Renci.SshNet.dll"
[void][reflection.assembly]::LoadFrom( (Resolve-Path $DllPath) )
# Connect to switch (Cisco IE2000-L) with IP, port, username, password
$SshClient = New-Object Renci.SshNet.SshClient('172.20.91.30', 22, 'admin', 'mypassword')
$SshClient.Connect()
# execute one command on Cisco switch
$SshCommand = $SshClient.RunCommand('show arp')
# show result
$SshCommand.Result
# close SSH connection
$SshCommand.Dispose()
$SshClient.Disconnect()
$SshClient.Dispose()
Mein Problem istDer obige Code sendet nur einen Befehl. Ich möchte jedoch mehrere Befehle nacheinander ausführen, ohne eine Sitzung zu schließen und erneut zu öffnen.
Wenn ich einen zweiten Befehl direkt nach dem ersten hinzufüge
# execute one command on Cisco switch
$SshCommand = $SshClient.RunCommand('show arp')
$SshCommand = $SshClient.RunCommand('show start')
... das Skript hängt und endet nie. Was mache ich falsch?
Kleinere relevante Informationen
Mein Hauptziel ist es, mehrere Befehle gleichzeitig an einen Cisco-Switch zu sendenIch habe schonhabe Plink zusammen mit batch versuchtcmd
Eingang. Es ist nicht zuverlässig genug. Es funktioniert manchmal und manchmal nicht.Ich habe es schon versuchtTelnet-Scripting. Zu umständlich.