Shared Files for the Orion Platform
  • Update Agent Node to new Polling Engine

    This script will call into the Orion API and move a group of agent nodes from one engine to another. You will need to update the SWQL ($query) to only capture the nodes you wish to migrate. You will also need to know the EngineID of the Polling engine you wish to migrate nodes to.
  • Delete Nodes from Spreadsheet

    A script that allows you to delete multiple nodes from a spreadsheet. Read to notes in the script.
  • Get SWQL Queries from Modern Dashboard Widgets

    This is a quick and dirty SWQL query extractor I bult for working with Modern Dashboards. Frequently I'll want to know what awesome query someone wrote to build the dashboard, but I don't necessarily want to import it into my environment to just take a peek. I find this useful to know if a Modern Dashboard will work with the data in my environment. Now, I can just extract the SWQL with this script and plug the query into SWQL Studio and see if anything if value is returned - easy. I don't have...
  • UI for scheduling nodes to maintenance using SolarWinds REST API and Python

    As you know, SolarWinds doesn't have the function to unmanage several nodes at the same time without node administration rights. Therefore, I developed a UI interface based on Python and dash as python library. You can add all the nodes you need and schedule them to be unmanaged. API method: Load Nodes Data: https://localhost:17774/SolarWinds/InformationService/v3/Json/Query?query=SELECT+NodeId,Caption,Ip_Address+FROM+Orion.Nodes The UI is in Spanish. The UI has a button to load nodes...
  • Export Alerts from SolarWinds Platform [Quick and Dirty Edition]

    As stated in the comments, this script really should be rewritten as a function, but here's a version of the quick and dirty script I used when I was working on the demo team. To execute, you'll need ( at least ) the SwisPowerShell Module version 3.0. Please note the query used in the script: SELECT [Alerts].Name , [Alerts].AlertID , [Alerts].Enabled , [Alerts].Canned ---- Unecessary Fields -- ------------------------- --, Frequency --, Trigger --, Reset --, Severity --...
  • WMI assigned Nodes

    SELECT [Node].Caption, [Node].IPAddress, [Credential].Name, [NodeSettings].SettingName, [NOdeSettings].SettingValue, [Node].NodeID FROM Orion.Nodes AS [Node] JOIN Orion.NodeSettings AS [NodeSettings] ON [Node].NodeID = NodeSettings.NodeID JOIN Orion.Credential AS [Credential] ON [NodeSettings].SettingValue = Credential.ID WHERE [Node].ObjectSubType = 'WMI' AND [NodeSettings].SettingName = 'WMICredential' ORDER BY [Credential].Name, [Node].Caption, [NodeSettings].SettingValue...
  • Change credential set used by Windows nodes

    So I've assigned myself of the task of cleaning up a decade's worth of credentials stored in various SolarWinds modules. In doing so I realized that we had a duplicate; the same credentials identified in two credential sets (slightly different names) used pretty much equally to poll our Windows servers. Since I haven't done it before, I thought this would be a great job for a SWIS PowerShell script! Input is the Credential Names of the two credentials sets; the old set (which will be discontinued...
  • PS1 EventID 1309 email alert if SolarWinds site fails to load

    I put this alert together to send an alert in the event the SolarWinds site fails to load. There is the occasional false positive as there are instances where some users try to go to a site that doesn't exist. The purpose for this alert was to inform the SW back end team when SW site was unavailable. For this to work simply set up a task sequence in Windows to run this script every 5 minutes. The script is designed to look back at the application event log at the previous 10 minutes and if the 1309...
  • Alert Action: HA Failover using PowerShell

    I have a unique scenario that i needed to account for to trigger a HA failover in SolarWinds. This PowerShell script is used as an alert action and requires the PoolID to be passed into it. My Alert Action is configured as followed. The text inside of the 'Network path to external program contains: C:\windows\system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy unrestricted -command "C:\Support\Scripts\Alert_Agent_Status_HA_Failover.ps1 ${N=SwisEntity;M=PoolId}" Setup Considerations...
  • SolarWinds Report Exporter - Tested with SolarWinds Platform 2023.2

    The attached PowerShell script will allow you to backup your reports. Useful if you have many hours invested into custom reports, which would be lost should your database have a .. problem! Add your SolarWinds server's IP/Hostname, along with your admin user & password to this line to setup the SWIS connection which is called later on in the script. Specify the output location for the reports here. Modify or remove the included where clause to filter for the reports you need to export...
  • Generate an HTML Report of Interface Config Snippets using PowerShell

    The TEAMS/phone administrator was complaining about the latest in our port security measures as we replaced all our LAN switches. We wanted to create a report showing the interface configurations for all the ports we labeled as having a phone, WAP, or a small switch. [ The small switches are used by KASTLE, our physical security systems provider, hence the label in the script. ] The PowerShell makes a SWQL query to find all the interfaces with the descriptions we are interested in, uses the SWIS...
  • Find & Replace Community Strings (Read-Only and Read-Write)

    A quick little script that I threw together to help out someone who needs to change all the community strings in their environment. Inspired by: Mass Update Community String - Feature Requests - The Orion Platform - THWACK ( The queries above ( $SwqlRoQuery and $SwqlRwQuery) can be tuned specifically to your needs in your environment. The important thing to know is that any node that's returned from $SwqlRoQuery will be updated with $NewRoCommunity and the same applies for the...
  • Create multiple User accounts in SolarWinds

    Please, refer to the below steps to create multiple User accounts in one go in SolarWinds. RDP to the SolarWinds Main Polling Engine. Open Windows Powershell ISE and run as administrator. Run the below script. Import-Module SwisPowerShell $hostname = "10.X.X.X" ###SolarWinds Website IP $user = "Admin" ###Solarwinds Web console Admin Username $password = "XXXXX" ###Solarwinds Web console Admin Password $SolarAcc=@("User1","User2","User3") ### Array of User Account Usernames $SolarPwd=...
  • Bulk Import ICMP Nodes

    Perform a bulk import of ICMP nodes from a spreadsheet. Nodes are added to Poller #1 and placed into an unmanaged state.
  • Upload Custom Properties

    Allows you to manually upload custom properties. Works in conjunction with the Download Custom Properties script. You can do the same through the GUI but on version 2020.2 we had issues where Custom Property import failed so we used this script to get the imports to run. The .CSV file used should be in this format. NodeID IPAddress Caption CustomProperty1 CustomProperty2 CustomProperty3 CustomProperty4 CustomProperty5 CustomProperty6 CustomProperty7 CustomProperty8...
  • Export Custom Properties

    Powershell script to export custom properties.
  • Unmanage or Suppress Alerts (Applications)

    This script provides two ways to not hear about applications during a maintenance window. The script is fully customizable for your needs and commented thoroughly. It uses one of two methods: # Using 'Unmanage' verb on 'Orion.APM.Application' entity # Arguments: # [string]netObjectId (in the form of "AA:#"") # [datetime]unmanageTime # [datetime]remanageTime # [bool]isRelative # Using 'SuppressAlerts' verb on 'Orion.AlertSuppression' entity # Arguments: # [string[]]entityUris # [datetime...
  • Set Classic Dashboards to Equal Column Widths

    This is something that I threw together a few years ago in a pure T-SQL way. It's generally not a great idea to do it that way, so I decided to re-do this using the SolarWinds API. Basically, it uses a display pixel width value you specify (Line 17) and determines the number of pixels for each column in a Classic Dashboard. Default settings are for a full HD system (1920w x 1080h). I used several advanced PowerShell features (adding script properties to objects) to optimize this for memory on...
  • Workaround - Oracle .Net Framework Data Provider Error

    As outlined here: Oracle User Experience Monitor: Failed to find or load the registered .Net Framework Data Provider - Forum - The Orion Platform - THWACK ( This script 1) Downloads the Oracle package from Oracle to a Temporary Location. Then Expand that .zip to a oracle folder. (c:/temp & c:/oracle 2) Moves the required dll to the Orion installation directory 3) Registers the .dll with the odp. 4) Removes .zip from Assumptions: - Ran on the target system - Target system has internet...
  • Fix SAM PowerShell Remoting - 2022.4

    As Outlined 2022.4 Upgrade: Remote PowerShell Broken - Forum - Server & Application Monitor (SAM) - THWACK ( This simple script assumes a default Orion installation location and makes the needed changes to the config file.