这是代码 - 在最后一个命令之后挂起:
$DllPath = "Q:\A_FILES\PowerSHell\SSH_NET_for_powershell\Renci.SshNet_Binary\Renci.SshNet.dll"
[void][reflection.assembly]::LoadFrom( (Resolve-Path $DllPath) )
$SshClient = New-Object Renci.SshNet.SshClient('199.12.13.44', 22, 'userid', 'password')
$SshClient.Connect()
Get-Process | Out-File -FilePath D:\Powershell\SAN_NAP01_TEST.txt -Encoding ASCII
$SshCommand = $SshClient.RunCommand('statistics show-periodic')
上面通过 SSH 发出的命令STATISTICS show-periodic
- 当手动发出到 Netapp Storage SAN 的 SSH 会话时 - 开始显示数据并永远运行 - 您不会再次收到提示 - 您必须手动发出CTRL-C
退出此命令,然后您会收到 CLI在 SSH 会话中提示发出另一个所需的命令。我认为这就是 powerscript 挂起的原因 - 因为该命令不会返回到提示符 - 没有CTRL-C
发出。
我想$SshCommand = $SshClient.RunCommand('CTRL-C')
按照上面的最后一个命令(在所需的睡眠时间之后)发出 - 但是 powershell 脚本没有得到控制权。
想知道他们是否有任何方法可以在命令之后重新获得控制statistics...
权,然后能够CTRL-C
在所需的时间间隔后将命令发出到 SSH 会话中。