Quantcast
Channel: THWACK: Popular Discussions - Orion SDK
Viewing all 3719 articles
Browse latest View live

Access to Orion.Discovery.CreateCorePluginConfiguration verb denied

$
0
0

Hello, i have been googling this issue all day without success of finding a solution. I am fairly new to orionSDK and i want to make my life easier to find available ip adresses. The code is as follows.

 

from __future__ import print_function                                                                                
import re                                                                                                            
import requests                                                                                                      
from orionsdk import SwisClient                                                                                      
import getpass                                                                                                                                                                                                                            
def main():                                                                                                              npm_server = 'mw-solarwinds.***.**'                                                                                  username = 'jnk@***.**'                                                                                              password = getpass.getpass()                                                                                         target_node_ip = '10.112.12.0'                                                                                       snmpv3_credential_id = 3                                                                                             orion_engine_id = 2                                                                                                                                                                                                                       swis = SwisClient(npm_server, username, password)                                                                    print("Add an SNMP v3 node:")                                                                                                                                                                                                             corePluginContext = {                                                                                                    'BulkList': [{'Address': target_node_ip}],                                                                           'Credentials': [                                                                                                         {                                                                                                                        'CredentialID': snmpv3_credential_id,                                                                                'Order': 1                                                                                                       }                                                                                                                ],                                                                                                                   'WmiRetriesCount': 0,                                                                                                'WmiRetryIntervalMiliseconds': 1000                                                                              }                                                                                                                                                                                                                                         corePluginConfig = swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)                                                                                                                                     discoveryProfile = {                                                                                                     'Name': 'Get available IP',                                                                                          'EngineID': orion_engine_id,                                                                                         'JobTimeoutSeconds': 3600,                                                                                           'SearchTimeoutMiliseconds': 5000,                                                                                    'SnmpTimeoutMiliseconds': 5000,                                                                                      'SnmpRetries': 2,                                                                                                    'ReeatIntervalMiliseconds': 1800,                                                                                    'SnmpPort': 161,                                                                                                     'HopCount': 0,                                                                                                       'PreferredSnmpVersion': 'SNMP2c',                                                                                    'DisableIcmp': False,                                                                                                'AllowDuplicateNodes': False,                                                                                        'IsAutoImport': True,                                                                                                'IsHidden': True,                                                                                                    'PluginConfigurations': [{'PluginConfigurationItem': corePluginConfig}]                                          }                                                                                                                                                                                                                                         print("Running discovery...")                                                                                        result = swis.invoke('Orion.Discovery', 'StartDiscovery', discoveryProfile)                                          print("Returned discovery profile id {}".format(result))                                                                                                                                                                              
requests.packages.urllib3.disable_warnings()                                                                                                                                                                                              
if __name__ == '__main__':                                                                                               main()   

 

The error received is as follows:

 

[root@ml-apiipam-t1 jnk]# python3.6 get_available_ip.py                                                                                                                                                                                                                                             
Password:                                                                                                                                                                                                                                                                                           
Add an SNMP v3 node:                                                                                                                                                                                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                                                                    File "get_available_ip.py", line 57, in <module>                                                                                                                                                                                                                                                      main()                                                                                                                                                                                                                                                                                            File "get_available_ip.py", line 30, in main                                                                                                                                                                                                                                                          corePluginConfig = swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)                                                                                                                                                                                             File "/usr/local/lib/python3.6/site-packages/orionsdk/swisclient.py", line 29, in invoke                                                                                                                                                                                                              "Invoke/{}/{}".format(entity, verb), args).json()                                                                                                                                                                                                                                                 File "/usr/local/lib/python3.6/site-packages/orionsdk/swisclient.py", line 59, in _req                                                                                                                                                                                                                resp.raise_for_status()                                                                                                                                                                                                                                                                           File "/usr/local/lib/python3.6/site-packages/requests/models.py", line 940, in raise_for_status                                                                                                                                                                                                       raise HTTPError(http_error_msg, response=self)                                                                                                                                                                                                                                                  
requests.exceptions.HTTPError: 403 Client Error: Access to Orion.Discovery.CreateCorePluginConfiguration verb denied.                                                                                                                                                                               
 for url: https://mw-***.***.**:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.Discovery/CreateCoreP                                                                                                                                                                               
luginConfiguration   

 

 

If anyone can help me solve this problem i will forever be grateful. As mentioned, i am VERY new to the API.


Query nodes based on custom property

$
0
0

Hello,

 

Is there any way to query the Orion nodes with all the custom properties?

 

Thanks.

CluM09

SWIS rest support pagination?

$
0
0

searched but saw no results-

I want to get all nodes and thought it might be best to paginate 1000 at a time. Is this available through the api parameters or should I write a program to look at last node id number and iterate/paginate up to that number?

Can SolarWinds API accept basic auth via the URL?

$
0
0

My end goal is to ACK a SolarWinds Orion alert via an API call triggered from my incident management tool. However, the tool I am sending the POST from does not support custom headers. Will SolarWinds accept basic auth passed in the URL? If so, what is the SolarWinds endpoint URL and payload needed to ACK an alert in SolarWinds?

 

I have tried the below, but am receiving a 401. Currently my admin account does not have a password and that section in the URL is blank. Maybe this is the cause?

 

Thanks everyone

 

Method: POST

Content-Type: application/JSON

Target URL: http://<username>:<password>@<host>:<port>/api/ActiveAlertsGrid/AcknowledgeActiveAlerts

Payload:

{

{<Alert Number>}, "acked by...."

}

Access to Orion.Discovery.CreateCorePluginConfiguration verb denied

$
0
0

Hello, i have been googling this issue all day without success of finding a solution. I am fairly new to orionSDK and i want to make my life easier to find available ip adresses. The code is as follows.

 

from __future__ import print_function                                                                                
import re                                                                                                            
import requests                                                                                                      
from orionsdk import SwisClient                                                                                      
import getpass                                                                                                                                                                                                                            
def main():                                                                                                              npm_server = 'mw-solarwinds.***.**'                                                                                  username = 'jnk@***.**'                                                                                              password = getpass.getpass()                                                                                         target_node_ip = '10.112.12.0'                                                                                       snmpv3_credential_id = 3                                                                                             orion_engine_id = 2                                                                                                                                                                                                                       swis = SwisClient(npm_server, username, password)                                                                    print("Add an SNMP v3 node:")                                                                                                                                                                                                             corePluginContext = {                                                                                                    'BulkList': [{'Address': target_node_ip}],                                                                           'Credentials': [                                                                                                         {                                                                                                                        'CredentialID': snmpv3_credential_id,                                                                                'Order': 1                                                                                                       }                                                                                                                ],                                                                                                                   'WmiRetriesCount': 0,                                                                                                'WmiRetryIntervalMiliseconds': 1000                                                                              }                                                                                                                                                                                                                                         corePluginConfig = swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)                                                                                                                                     discoveryProfile = {                                                                                                     'Name': 'Get available IP',                                                                                          'EngineID': orion_engine_id,                                                                                         'JobTimeoutSeconds': 3600,                                                                                           'SearchTimeoutMiliseconds': 5000,                                                                                    'SnmpTimeoutMiliseconds': 5000,                                                                                      'SnmpRetries': 2,                                                                                                    'ReeatIntervalMiliseconds': 1800,                                                                                    'SnmpPort': 161,                                                                                                     'HopCount': 0,                                                                                                       'PreferredSnmpVersion': 'SNMP2c',                                                                                    'DisableIcmp': False,                                                                                                'AllowDuplicateNodes': False,                                                                                        'IsAutoImport': True,                                                                                                'IsHidden': True,                                                                                                    'PluginConfigurations': [{'PluginConfigurationItem': corePluginConfig}]                                          }                                                                                                                                                                                                                                         print("Running discovery...")                                                                                        result = swis.invoke('Orion.Discovery', 'StartDiscovery', discoveryProfile)                                          print("Returned discovery profile id {}".format(result))                                                                                                                                                                              
requests.packages.urllib3.disable_warnings()                                                                                                                                                                                              
if __name__ == '__main__':                                                                                               main()   

 

The error received is as follows:

 

[root@ml-apiipam-t1 jnk]# python3.6 get_available_ip.py                                                                                                                                                                                                                                             
Password:                                                                                                                                                                                                                                                                                           
Add an SNMP v3 node:                                                                                                                                                                                                                                                                                
Traceback (most recent call last):                                                                                                                                                                                                                                                                    File "get_available_ip.py", line 57, in <module>                                                                                                                                                                                                                                                      main()                                                                                                                                                                                                                                                                                            File "get_available_ip.py", line 30, in main                                                                                                                                                                                                                                                          corePluginConfig = swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)                                                                                                                                                                                             File "/usr/local/lib/python3.6/site-packages/orionsdk/swisclient.py", line 29, in invoke                                                                                                                                                                                                              "Invoke/{}/{}".format(entity, verb), args).json()                                                                                                                                                                                                                                                 File "/usr/local/lib/python3.6/site-packages/orionsdk/swisclient.py", line 59, in _req                                                                                                                                                                                                                resp.raise_for_status()                                                                                                                                                                                                                                                                           File "/usr/local/lib/python3.6/site-packages/requests/models.py", line 940, in raise_for_status                                                                                                                                                                                                       raise HTTPError(http_error_msg, response=self)                                                                                                                                                                                                                                                  
requests.exceptions.HTTPError: 403 Client Error: Access to Orion.Discovery.CreateCorePluginConfiguration verb denied.                                                                                                                                                                               
 for url: https://mw-***.***.**:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.Discovery/CreateCoreP                                                                                                                                                                               
luginConfiguration   

 

 

If anyone can help me solve this problem i will forever be grateful. As mentioned, i am VERY new to the API.

Python API

$
0
0

Is there an API I can connect to with Python?

I would like to query IPAM with Ansible/Python

Thanks.

how to input 'y' or 'yes' with powershell script to NCM

$
0
0

Hello, Team

is anybody who can give me an idea how to input the 'yes' or 'y' command when waiting for the user input.

want to automate the Nexus 3048 ios upgrade process with powershell script with NCM.

 

Also, powershell script can apply for multiple devices at the same time for example upgrade 100 devices at the same time for 1 powershell script.

 

for example

Images will be upgraded according to following table:

Module             Image         Running-Version             New-Version  Upg-Required

------  ----------------  ----------------------  ----------------------  ------------

     1            system             6.0(2)U1(2)             6.0(2)U3(1)           yes

     1         kickstart             6.0(2)U1(2)             6.0(2)U3(1)           yes

     1              bios      v1.2.0(08/25/2011)      v1.2.0(08/25/2011)            no

     1         power-seq                    v4.4                    v4.4            no

 

 

Switch will be reloaded for disruptive upgrade.

Do you want to continue with the installation (y/n)?  [n] y   <--- here, how to input 'y' command with powershell script ??

 

Install is in progress, please wait.

Performing runtime checks.

[####################] 100% -- SUCCESS

Setting boot variables.

[####################] 100% -- SUCCESS

Performing configuration copy.

[####################] 100% -- SUCCESS

Finishing the upgrade, switch will reboot in 10 seconds.

as20a.w40216b.x460.krccw#

Receiving 403 Forbidden When Using REST API In C#

$
0
0

Receiving 403 Forbidden When Using REST API In C#

 

I was referred to the following C# example of using REST APIs Sample code: OrionSDK/Program.cs at master · solarwinds/OrionSDK · GitHub

 

This looked very promising and I have attempted to implement it for my process. However, all requests are failing with a 403 Forbidden error.

 

I have verified if I used invalid credentials I get a 401 unauthorized error so it appears to be authenticating my request, but I can't get results for a simple query operation.

 

I am basically using the code from the example but I am only calling the query action with the following simple query string and no arguments:

conststring query = @"SELECT nodeid, caption FROM Orion.Nodes";

 

I have output the JSON string created before it is passed to the request and it looks like this:

{"parameters":null,"query":"SELECT nodeid, caption FROM Orion.Nodes"}

 

Is there something wrong with the JSON or my query request?


Can devices be added to Solarwinds via Ansible? Is there an ansible module available for this

$
0
0

Hi folks,

I've been tasked with adding a couple thousand network devices to SW. Is there an ansible playbook / module that does that? I didn't find any in the Orion github space. Any help would be greatly appreciated.

 

-JC

Auto-discovery "Status & Response Time" Python SDK

Can devices be added to Solarwinds via Ansible? Is there an ansible module available for this

$
0
0

Hi folks,

I've been tasked with adding a couple thousand network devices to SW. Is there an ansible playbook / module that does that? I didn't find any in the Orion github space. Any help would be greatly appreciated.

 

-JC

Auto-discovery "Status & Response Time" Python SDK

Can devices be added to Solarwinds via Ansible? Is there an ansible module available for this

$
0
0

Hi folks,

I've been tasked with adding a couple thousand network devices to SW. Is there an ansible playbook / module that does that? I didn't find any in the Orion github space. Any help would be greatly appreciated.

 

-JC

SwisPowerShell module released

$
0
0

You can now use a PowerShell module to access Orion and SWIS. To install it from the PowerShell Gallery, run this command:

 

Install-Module SwisPowerShell

 

To load it into the current PowerShell session, run this command:

 

Import-Module SwisPowerShell

 

Documentation for this module is provided on GitHub: https://github.com/solarwinds/OrionSDK/wiki/PowerShell

 

This module provides the same cmdlets as the old PowerShell snapin, SwisSnapin. Existing scripts will work with the module with no changes other than replacing "Add-PSSnapin SwisSnapin" with "Import-Module SwisPowerShell". The OrionSDK.msi installer still provides SwisSnapin for compatibility.

Orion SDK 2.2 released

$
0
0

Orion SDK 2.2 has been released. The main feature in this release is smart autocomplete in SWQL Studio, but there are also various minor bugfixes and improvements.

 

You can download the installer from GitHub: Release v2.2.54 · solarwinds/OrionSDK · GitHub

You can also install it from Chocolatey (Chocolatey Gallery | SolarWinds Orion SDK 2.2.54 ) using "choco install orionsdk"

 

Documentation is on the GitHub wiki: Home · solarwinds/OrionSDK Wiki · GitHub

 

These tools are compatible with all of the same SolarWinds products that the previous release was, so you should have no fear of upgrading. On the other side, Orion SDK 2.1 and several previous releases are compatible with the latest 2017 SolarWinds products, so don't feel like you need to upgrade the Orion SDK just for compatibility.

 

As always, you can ask your Orion SDK questions in this forum. If you see a bug in the SDK tools, feel free to open an issue on the GitHub project: Issues · solarwinds/OrionSDK · GitHub.


How to use RESTful API

$
0
0

I have a large number of linux systems for which I need to do a number of SolarWinds configuration tasks, but lets pick one:

 

The systems have registered themselves by running swiagent in push mode.  By default, they're monitoring CPU and memory and network traffic.  I want them to monitor specific file system mounts (/, /tmp, and /var) and not others (not /boot, since it doesn't change, and not /projects, because it's an NFS mount - monitor that on the filer).

 

I'd like to automate turning on that monitoring from the Linux systems themselves, and the RESTful API would seem to be a good way to do that.  I presume I need to retrieve the NodeID, then retrieve some identifier for the volume, then invoke some verb to enable monitoring of the volume.

 

These curl invocations work:

 

curl --user 'swiagent:*************' -k https://10.1.1.248:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+Uri+FROM+Orion.Nodes+WHERE+Caption+=+\'apk0clio00\' | python -mjson.tool

curl --user 'swiagent:*************' -k https://10.1.1.248:17778/SolarWinds/InformationService/v3/Json/swis://pdx0netmgmt01.tqs.com/Orion/Orion.Nodes/NodeID=6079 | python -mjson.tool

 

But this doesn’t:

 

curl --user 'swiagent:*************' -k https://10.1.1.248:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+Uri+FROM+Orion.Nodes.Volumes+WHERE+NodeID=6079 | python -mjson.tool

 

I feel like there's important things I don't understand, and I don't know how to find the answers - and my search results show I don't know how to ask the questions.

No snap-ins have been registered for Windows PS v. 5.0

$
0
0

Hi Thwack,

 

As I was trying to unmanage whole groups at a time I stumbled upon OrionSDK and with that, PowerOrion.

I have installed OrionSDK and copied the PowerOrion directory to C:\Windows\System32\WindowsPowerShell\v1.0\Modules\.

Whenever I try to either Import-Module PowerOrion or Add-PSSnapin SwisSnapin I get this:

 

PS C:\Company> Add-PSSnapin SwisSnapin 

Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 5.

At line:1 char:1

+ Add-PSSnapin SwisSnapin

+ ~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (SwisSnapin:String) [Add-PSSnapin], PSArgumentException

    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

 

 

 

PS C:\Company> Import-Module PowerOrion

Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 5.

At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PowerOrion\PowerOrion.psm1:5 char:1

+ Add-PSSnapin SwisSnapin

+ ~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (SwisSnapin:String) [Add-PSSnapin], PSArgumentException

    + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

 

I've tried running the following without success: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll'

 

Any help is greatly appreciated.

 

Glad Regards,

Frederik Bruun

Can devices be added to Solarwinds via Ansible? Is there an ansible module available for this

$
0
0

Hi folks,

I've been tasked with adding a couple thousand network devices to SW. Is there an ansible playbook / module that does that? I didn't find any in the Orion github space. Any help would be greatly appreciated.

 

-JC

SWIS discover Interface Error

$
0
0

Hi,

We're getting an error when we discover interface with swis.

 

I got this error message, "Exception of type 'SolarWinds.ApiProxyFactory.TransientApiProxyException' was thrown."

 

 

Why got this message?

 

Platform version:

Orion Platform 2017.1, IPAM 4.3.2, NPM 12.1, VIM 7.0.0, NetPath 1.1.0, QoE 2.3, NTA 4.2.2

 

2017-05-23_12-27-58.png

Powershell scripts to automatically unmanage\remanage a node using the Orion SDK

$
0
0

First, I'll share the script. Then, I'll explain why we need it and how it helps us in our environment.

To use the script you must have the Orion SDK installed on the monitored node.

 

Take the text below, paste in Powershell ISE and save it as a PS1.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Unmanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will unmanage a single node in the Orion database. First, it finds the node number in the Orion database, then it will unmanage it for 99 years.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0$d"

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Unmanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

 

 

And now the Remanage script. Again, save as a .PS1 file.

------------------------------------ Start PS1 -----------------------------------------------------------------

 

# 2014-07-21 Node Remanage script for SolarWinds SDK Powershell

# by Joe Dissmeyer | Thwack - @JoeDissmeyer | Twitter - @JoeDissmeyer | www.joedissmeyer.com

# This script will remanage a single node in the Orion database.

# This script assumes you are running it LOCALLY from an already managed node AND that the machine has the Orion SDK v1.9 installed on it.

# If the machine is not already managed in SolarWinds this script will fail without warning.

# Replace ORIONSERVERNAME with the appropriate values.

# ORIONSERVERNAME = Your Orion poller instance. (Ex. 'SOLARWINDS01.DOMAIN.LOCAL'). Single quotes are important.

 

 

# Load the SolarWinds Powershell snapin. Needed in order to execute the script. Requires the Orion SDK 1.9 installed on the machine this script is running from.

Add-PSSnapin SwisSnapin

 

 

# SolarWinds user name and password section. Create an Orion local account that only has node management rights. Enter the user name and password here.

$username = "SWnodemanagement"

$password = "MyP@44w0%d"

 

 

# This section allows the password to be embedded in this script. Without it the script will not work.

$secstr = New-Object -TypeName System.Security.SecureString

$password .ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$secstr

 

 

# The actual job

$ORIONSERVERNAME = 'SWServer1.domain.local'

$nodename = $env:COMPUTERNAME

 

 

$swis = Connect-Swis -Credential $cred -host $orionservername

$nodeid = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE SysName LIKE '$nodename%'"

$now =[DateTime ]:: Now

$later =$now.AddYears(99)

Invoke-SwisVerb $swis Orion.Nodes Remanage @("N: $nodeid ", $now ,$later , "false")

 

------------------------------------ End PS1 -----------------------------------------------------------------

 

Explanation:

My company had a very unique need to monitor our enterprise Windows application that runs not only on standard desktop PCs, but also runs on mobile tablets connected to WiFi access points. These tablets run the standard Windows 7 Professional OS so it makes it easy to set up application monitoring in SolarWinds SAM for these machines. However, the problem comes at the end of the day when these tablets are turned off and placed in their charging docks for the night. As you can imagine, this creates an administrative nightmare (not to mention an email alert flood) in SolarWinds when this happens.

 

SolarWinds Orion NPM and SAM is designed to always keep an eye on a node or application that is entered in it's database. It is not designed to monitor an application or node only "part of the time" --- well, at least it isn't designed for this purpose out of the box. So instead, we have to create a workaround that will suit our needs. What we needed to do was figure out how to automatically "unmanage" these Windows tablet PCs in SolarWinds when they are shut down for the night, but also automatically "re-manage" them once they boot up. This is where the script comes into play.

 

The idea is to take the Unmanage script and apply it as a shut down script in Group Policy, then take the Remanage script and apply it as a boot up script in Group Policy.

Here is why this works for us:

The business is supposed to gracefully shut down the tablet by clicking Start > Shut down. If not, then an email alert triggers that informs us that the application is down on the machine.

If the tablet goes offline in the middle of the day for any reason, we will receive an email alert about that node.

When the machine is shut down properly, the node is automatically unmanaged in SolarWinds.

When the machine boots up and someone logs into the machine, the node is automatically remanaged in SolarWinds.

 

But here is an even better use for these scripts --- Scheduled Server Maintenance! How many times have we, server administrators, had to patch Windows Servers during scheduled maintenance hours? Normally you would have to go into SolarWinds and unmanage the node first BEFORE rebooting as not to trigger an email alert. Well with these scripts you wouldn't have to worry about that as much since this would be automatic.

 

Final notes:

Of course, this is just one way to go about auto-managing nodes in SolarWinds. There are some alternatives to doing this using the Orion SDK and Powershell which is to, instead, use the built-in .NET properties in Powershell 2.0 to access the Orion SQL database directly, find the node ID, and unmanage it in that manner. For those that are interested in how do to this without the Orion SDK, let me know and I'd be happy to elaborate.

Viewing all 3719 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>