cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 19

Orion SDK 2.2 released

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.

35 Replies
Level 8

The communication object,

System.ServiceModel.Security.SecuritySessionClientSettings'1+ClientSecurityDuplexSes

sionChannel[System.ServiceModel.Channels.IDuplexSesionChannel], cannot be used for communication because it is in the Faulted state.

error when using aggregate functions in swql studio

0 Kudos

Please start a new thread for this issue and post the query that triggered the error.

Level 10

IPAM API Help!

I'm trying to update the Status of multiple IPs in IPAM at one time.  I have a list of IPs that i want updated from "Available" to "Used" called, IP.txt, and i can see that manually, i can go IP by IP and change the status of the IP availability, with the Invoke-SwisVerb $swis IPAM.SubnetManagement ChangeIPStatus @("10.0.0.1)", "Used"). I've created a variable that can display all the IPs, by using  $IPList = Get-Content -Path C:\.IP.txt and i can display the list by just typing $IPList.  However, when i try to use the Invoke Change IP Status command referencing the list of IPs via variable,  Invoke-SwisVerb $swis IPAM.SubnetManagement ChangeIPStatus @("$IPList", "Used"), i get the error that "Invoke-SiwsVerb : IP Address is not valid".

Does the "IP Address" have to be defined as an actual IP address in this case, or could i use that list to reference all the IPs i want to update, and I'm just using it incorrectly?

If I would have to manually enter in each IP per command, would there be a way to have Powershell generate each individual command where it puts all the instances of the command it would need? For example, Powershell reads the IP List, and knows that for each IP on that list, to generate in a text document the command with it's IP in it, Invoke-SwisVerb $swis IPAM.SubnetManagement ChangeIPStatus @("10.0.0.1", "Used"), Invoke-SwisVerb $swis IPAM.SubnetManagement ChangeIPStatus @("10.0.0.2", "Used") and so for .3, .4, .5, etc).

Thanks for the help! Newbie to powershell, but i'm getting more familiar with it. I was hoping i could just generate a simple IP_Address query from orion.nodes and mark all of those IPs as Used, but i can't seem to use that IP List i created.

Thanks!

0 Kudos

The verb just updates one IP. You have a list of them to update, so you can call the verb in a loop. Like this:

$IPList = Get-Content -Path C:\.IP.txt

foreach ($ip in $IPList) {

    Invoke-SwisVerb $swis IPAM.SubnetManagement ChangeIPStatus @($ip, "Used")

}

Worked like a charm! Thank you tdanner​!

0 Kudos
Level 10

I am having issues setting up the powershell snapin. I ran the Orion SDK install but the snapin did not get added. I am running on Windows 10/PowerShell 5 so that may be causing issues. See below:

PS C:\Users\username> 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:\Windows\Microsoft.NET\Framework\v4.0.30319> C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll"

Microsoft (R) .NET Framework Installation utility Version 4.6.1586.0

Copyright (C) Microsoft Corporation.  All rights reserved.

Running a transacted installation.

Beginning the Install phase of the installation.

See the contents of the log file for the C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll assembly's progress.

The file is located at C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.InstallLog.

Installing assembly 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll'.

Affected parameters are:

   logtoconsole =

   logfile = C:\Users\username\AppData\Local\Temp\SwisPowerShell.InstallLog

   assemblypath = C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll

An exception occurred during the Install phase.

System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.InstallState' is denied.

The Rollback phase of the installation is beginning.

See the contents of the log file for the C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll assembly's progress.

The file is located at C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.InstallLog.

Rolling back assembly 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll'.

Affected parameters are:

   logtoconsole =

   logfile = C:\Users\username\AppData\Local\Temp\SwisPowerShell.InstallLog

   assemblypath = C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.dll

An exception occurred during the Rollback phase of the System.Configuration.Install.AssemblyInstaller installer.

System.IO.FileNotFoundException: Could not find file 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.InstallState'.

An exception occurred during the Rollback phase of the installation. This exception will be ignored and the rollback will continue. However, the machine might not fully revert to its initial state after the rollback is complete.

The Rollback phase completed successfully.

The transacted install has completed.

The installation failed, and the rollback has been performed.

0 Kudos

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

PowerShell snapin registration is separate for 32-bit and 64-bit shells. The installer should have registered both, but apparently it failed. When you register it manually, run both versions of installutil.exe.

System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\SolarWinds\Orion SDK\SWQL Studio\SwisPowerShell.InstallState' is denied.

This could be caused by UAC - you need to run installutil.exe from an elevated shell.

0 Kudos
Level 11

Here is a feature/functional request...

in SQL we have single character wild cards, RIGHT(), LEFT() and ISNUMERIC().

It would be great to have these in SWQL.

I use these a lot to evaluate host names to decode the name to its functionality.

0 Kudos

Good request. I captured this as CORE-8445.

The single character wild card is already supported - just use the underscore '_' to match any one character in a LIKE pattern. Same as T-SQL.

0 Kudos

Good to hear. I thought that was a reserved character.

Cool

0 Kudos
Level 8

Hi everyone,

The Orion SDK is supported by maintenance contract??

All the best!Armando

0 Kudos

Nope, community support. I have found the support here to be very good.

0 Kudos

I think not -- if you look at the pages for it you'll see that they say to report bugs in the API to Issues · solarwinds/OrionSDK · GitHub

[if you look at some of the issues you will see that they point to a bug in the underlying product -- and those you could report to support]

IMHO asking support to help debug your random piece of code and the API is unlikely to get you much useful help -- you'd be better posting here

/RjL

0 Kudos

tdanner​ - One piece of documentation I have not been able to find is around REST Query with Parameters Request usage. For example I want to include a SWQL query filtered on say nodeID IN (1,2,3,4,5,6,7,8) and have not been able to get the parameter to take the ( character.

Thoughts?

0 Kudos

To send a multi-valued parameter for use with a WHERE x IN (...)-style query, encode the value as a JSON array, like this:

{ "query": "SELECT NodeID, Caption FROM Orion.Nodes WHERE NodeID IN @ids", "parameters": { "ids": [2,4,6] } }

I just added this example to the https://github.com/solarwinds/OrionSDK/wiki/REST page as well.

0 Kudos

Ah the ole bracket trick! Lol

0 Kudos
Level 10

heya, I am trying to execute a pollnow on the nodes but i keep getting these errors?

this is my PS code:

Invoke-SwisVerb $swis "Orion.Nodes" "PollNow" @($NodeID.ToString())

tried it in SWQL same problem.

- <Fault xmlns="http://www.w3.org/2003/05/soap-envelope">

- <Code>

<Value>Sender</Value>

</Code>

- <Reason>

<Text xml:lang="en-US">Orion.Nodes.PollNow failed, check fault information. ProvideFault failed, check fault information.</Text>

</Reason>

- <Detail>

- <InformationServiceFaultContract xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.solarwinds.com/2007/08/informationservice">

<Message>ProvideFault failed, check fault information.</Message>

</InformationServiceFaultContract>

</Detail>

</Fault>

0 Kudos

PollNow expects a "net object id". For nodes, that looks like this: "N:123"

If you have a NodeID, you need to prefix it with "N:". In PowerShell, try this:

Invoke-SwisVerb $swis "Orion.Nodes" "PollNow" @( "N:$NodeID" )

0 Kudos

thank you, is there a way to know if it has been successful?

0 Kudos

No, it happens in the background.

0 Kudos