This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

SolarWinds MIB Database

This Template will download and extract the contents of the SolarWinds MIB database. It then compares the date/time stamp on the new database to that running on your Orion Server and calculates the age difference. There is no need to download a new MIB database daily, so the default polling frequency should be set at 24 hours (86400 seconds) or higher. You may need to increase the polling timeout depending on your Internet Connection speed. The MIB Database download is over 200 MB, so adjust accordingly.


    This is something I have been wanting for a long time. We often go 3-6 months between our catalog updates. This will help me remember emoticons_happy.png

  • No Problem.  I wrote something like it at a previous job that would do the same thing, but I had to "sanitize" it for general Orion consumption.  You will probably need to play with the thresholds and the frequency so that you don't over alert or block up your internet connection by downloading MIB after MIB file.  After setting it up, I think that 45 days for a warning and 180 days for a error would probably work nicely.  I also didn't really error trap the script too much, so, you may want to tweak it slightly to ignore or error out on negative values.

    Did you notice that it "keeps" the newest MIB file in the Windows Temp folder so you can easily copy it from there to the update location? :-)

  • Is there a way to make this work if your server is behind a proxy?

  • I worked it out... Just needed to add

    $proxy = new-object System.Net.WebProxy ""


  • Sure thing!  I can't test it, but you should be able to insert this between the WebClient declaration and the DownloadFile function.

    # Create a Web Proxy
    $WebProxy = New-Object System.Net.WebProxy
    $WebProxy.Address = "http://proxy.address.local:80"
    # Create Credentials for Proxy
    $ProxyCreds = New-Object -TypeName System.Net.NetworkCredential
    $ProxyCreds.UserName = "ProxyUsername"
    $ProxyCreds.Password = "ProxyPassword"
    # Assign the Creds to the Proxy
    $WebProxy.Credentials = $ProxyCreds
    # Assign the Proxy to the Client
    $WebClient.Proxy = $WebProxy

  • Nicely done!  If you needed to use credentials for the proxy, you can use my sample. (Hopefully)

  • super useful! I kinda understand why your thwack profile location says

    [PS] C:\> Get-Location

  • Awesome thanks KMSigma worked a treat. 119days now reduced to 0 after I manually downloaded the MIB update and restarted services on a NPM/SAM integrated setup.

    I've tried doing the remote test though on other separate/integrated instances of NPM however it didn't work and there is no firewall seperating them.

    Any ideas?

    It appears to be doing the connectivity test since it doesn't fail immediately like it does when supplying the incorrect creds, however it does eventually fail though.

    We also have other isolated NPM servers without internet connection.

  • Yes - the Web Client (technically this also applies to BitTransfers also), runs "oddly" over remote PowerShell.  I remember that there is a way to get this to work, but honestly I can't remember how I searched online to find it.

  • Yeah - PoSH for me, PoSH for you, PoSH everywhere!