Войти

Показать полную графическую версию : [решено] Cisco не воспринимает $Credential.Password


Elven
27-06-2017, 13:08
Есть нужность на некоторое количество цисок добавить новую community string, и тут грабли в том, что для этого приходится переходить в enable mode, что требует повторного ввода пароля. Пароль есть в переменной $cred но, я так понимаю, находится там в хитром виде, что не позволяет его использовать так, как хотелось бы (вытягивать из $cred.Password). Если пароль держать в скрипте в открытом виде (закомментированная строка в коде ниже) все работает идеально.
$cred = Get-Credential
New-SSHSession -ComputerName $ciscoIP -Credential $cred
$SSH = $SSHSession | New-SSHShellStream
Start-Sleep -Seconds 3
$SSH.WriteLine("en")
#$SSH.WriteLine("Pa$$w0rd")
$SSH.WriteLine("$cred.Password")
$SSH.WriteLine("conf t")
$SSH.WriteLine("snmp-server host inside 11.11.11.20 community new_SNMP_community_string version 2c")
Start-Sleep -Seconds 3
$SSH.read()
Start-Sleep -Seconds 5
$SSH.WriteLine("exit")
Start-Sleep -Seconds 1
Get-SSHSession | Remove-SSHSession

Как можно преобразовать пароль из $cred.Password?

з.ы. модуль для работы с SSH взят отсюда (http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/)

Kazun
27-06-2017, 13:21
$SSH.WriteLine($cred.GetNetworkCredential().Password)




© OSzone.net 2001-2012