We have decided to run SAN Health on our fabrics in scheduled intervals. As it is recommended to clear the errors on the switches few days before you run the SAN Health, I had look into scripting to clear the errors for all ports on all switches.
The method used here is to use the open source utitlity called plink.exe (command line putty, which can be downloaded from PuTTY Download Page) to remotely run the commands porterrshow and porterrclear on each ports of the switches. The first pass will capture the current port errors to a file, which is best viewed using better file editor like notepad++ to keep the formatting. The script uses the smtp server to send the result to the mail box of your choice
the attachement contains
If you are going to implement it in your environment you may have to do the following changes to the files
update the smtp mail server and the from and to mail address
update the correct IP address in your farm
I have included the 40 ports in this list as I only have maximum of 40 ports in my switches, if you have more than 40 ports on any switch in the list above then you have to update this with the maximum number of ports.
Also download and copy the plink.exe to the same directory before running the script.
If you are planning to schedule this script to windows scheduler, try to run the script under the schedule user login to cache the SSH keys for the first time.