in his office, a customer have a few Avocent KVM switches to control some client computers in a remote room. He ask me about the possibility to get a list of all computers connected to these boxes, because he do not want to maintain any list by hand.
I research the documention but there is no (scripting) interface from which I could get such a list. SSH is only for connecting serial consoles, SNMP offers no OIDs for such a case.
Because of the costs, DSView isn’t a option. The only way seems to be to extracting the list by reading the Webfrontend HTML output. Let us do this 🙂
I wrote a script in powershell, at least version 2 is needed to handle selfsigned SSL certificates, which do the following:
- Login to the Webfronted with https and SSL encryption by System.Net.HTTPWebRequest class to get the authentification cookie
- Get the Device HTML page by .NET class System.Net.Webclient and using Authentification cookie
- Save HTML do a temporary file
- Open the file with Internet Explorer
- Get the URL to start a KVM session, computername and portnumber by DOM
Define the User, Password, protocol and the devices:
# KVM User [string]$sUser="Admin" # KVM Password [string]$sPassword="YourPassword" # Protocol [string]$sProtocol="https" # Your Devices [String]$aAvocentDevices=@("Console1.domain.local","Console2.domain.local")
Built HTTP POST text and disable SSL certificate warnings