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

how can make script working for multiple nodes.

$
0
0

Dear, Team

want to using the powershell script to using os version check multiple nodes in the WEST group

see the following script plz

 

 

===================================================================

if (! (Get-PSSnapin | where {$_.Name -eq "SwisSnapin"})) {

    Add-PSSnapin "SwisSnapin"

}

 

 

#Prep File

$File = "C:\OS_CHECK.txt"

 

 

$hostname = "127.0.0.1"

$username = "admin"

$password = New-Object System.Security.SecureString

$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $password

$swis = Connect-Swis -v2 -host $hostname -cred $cred

 

$group= 'WEST'

$nodeId = get-swisdata $swis "SELECT NodeID FROM Cirrus.Nodes WHERE NodeGroup='$group'"

 

$script ="sh run"

 

#how can i change below lines to apply to multiple nodes ???

 

$nodeIdList = New-Object -TypeName "System.Guid[]" 1

$nodeIdList[0] = $nodeId

Invoke-SwisVerb $swis Cirrus.ConfigArchive Execute @($nodeIdList, $script, $username) | Out-Null

$transferID = "{$nodeId}:${username}:ExecuteScript"

 

do {

    Start-Sleep -Seconds 1

    $status = Get-SwisData $swis "SELECT T.Status, T.Error FROM Cirrus.TransferQueue T WHERE T.TransferID=@transfer" @{transfer=$transferID}

    #Write-Host $status.Status

}

while (($status.Status -ne 'Complete') -and (-not $status.Error))

 

$output = Get-SwisData $swis "SELECT T.Log FROM Cirrus.TransferQueue T WHERE T.TransferID=@transfer" @{transfer=$transferID}

 

write-host $output

 

 

$output | Out-File $File

 

 

Write-Host "Process Completed!!"


Using Powershell to add nodes with Custom Properties for Device Type

$
0
0

Hello,
Running Orion NPM 10.6.0 and SDK 1.7 on Win2k8R2

 

Can anyone help with adding devices into Orion using Powershell?

 

To complete via NPM Web console, select Management, Edit Node.
Select groups, break down the group to a specific node.
Choose node properties, then edit node.
Custom properties show Device_Type:

12-4-2013 3-35-46 PM.png

 

Sample script adding a server fails for the custom properties:
---------------

Add-PSSnapin SwisSnapin

# initialize SWIS connection
$swis = Connect-Swis -Certificate

# add a node
$newNodeProps = @
{
EntityType="Orion.NodesCustomProperties";
DisplayName="servername_here";
Device_Type="Server_Windows";
}

$newNodeUri = New-SwisObject $swis –EntityType "Orion.NodesCustomProperties" –Properties $newNodeProps

$nodeProps = Get-SwisObject $swis -Uri $newNodeUri Orion.Nodes

Output:
PS C:\> $newNodeUri = New-SwisObject $swis -EntityType "Orion.NodesCustomProperties" -Properties $newNodeProps
New-SwisObject : Cannot bind argument to parameter 'Properties' because it is null.
At line:1 char:89
+ $newNodeUri = New-SwisObject $swis -EntityType "Orion.NodesCustomProperties" -Properties <<<<  $newNodeProps
    + CategoryInfo          : InvalidData: (:) [New-SwisObject], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,SwisPowerShell.NewSwisObject

PS C:\>


Similar blog = http://thwack.solarwinds.com/message/163190#163190

Connect-Swis Authentication Type

$
0
0

I have been working on integrating SolarWinds alerts/acknowledgements with IBM's Tivoli Netcool. I currently have a database trigger running on a scheduled interval to acknowledge SolarWinds alerts using the SWIS API. The current implementation of connect-swis looks like this:

 

#Decrypt the password file and store it in a variable to be passed to SWIS (only the user that encrypted the password file can decrypt it)
$username = "admin"
$securePassword = get-content C:\cred.txt | ConvertTo-SecureString
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword)
$password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)

#Connect to SWIS
$swis = Connect-Swis -host $SWServer -UserName $username -Password $password 

 

In order to create the cred.txt file, which contains the password for the user "admin", I ran the following Windows command prior to running the script:

     read-host -assecurestring | convertfrom-securestring | out-file C:\cred.txt

 

This is obviously not the most glamorous way to do this. I understand that there are other arguments that I can use to authenticate with SWIS. Could anyone fill me in on what those are, and how they work? For example, I have heard that you can do AD authentication or just a certificate.

REST API in PowerShell

$
0
0

I have been able to use the OrionSDK to create PowerShell scripts to help automate some processes that we have. The downside is that each team member will need to install the SDK in order to run the scripts. To try and alleviate this problem, I started looking into the REST/JSON API examples. Is my assumption that using REST will no longer require having the OrionSDK installed?

 

Has anyone been able to create any valid REST/JSON queries in PowerShell? I am having difficulty getting started. I found the PowerShell command: Invoke-RestMethod -uri https://IPAddress:17778/SolarWinds/InformationService/v3/Json/Query  but have been unable to have this appropriately connect to/authenticate with our Orion Server. Any help getting started will be much appreciated, I think figuring everything else out from there should be fairly simple.

Powershell Invoke-Swisverb trouble

$
0
0

Please help.  I"m having trouble trying to unmanage a list of devices.  Below is my script.

 

When it gets to invoke-swisverb it errors out with this message:

 

Could not find file 'C:\Users\userid\AppData\Local\Temp\zfye57a-.dll'.

At H:\unmange.ps1:22 char:22

+       Invoke-SwisVerb <<<<  $swis Orion.Nodes Unmanage @("$nodeID",$now,$($myLine[1]),$false)

    + CategoryInfo          : NotSpecified: (:) [], FileNotFoundException

    + FullyQualifiedErrorId : System.IO.FileNotFoundException

 

 

SCRIPT

$swis = Connect-Swis #--Credential $creds

 

$a = Get-Content h:\opt\hd\hostsunmanage.txt

 

foreach ($line in $a)

   {

   if ($line -ne "")

      {

      $now=[DateTime]::UtcNow

      $line = $line.Trim()

      $myLine = $line.split(",")

      $retStuff = Get-SwisData $swis "SELECT NodeID FROM Orion.Nodes WHERE DNS = '$($myLine[0]).Trim()'"

 

      $nodeID = "N:$retStuff"

 

      Write-Host $($myLine[0]) " will be unmanaged from $now util " $($myLine[1])

     

      Invoke-SwisVerb $swis Orion.Nodes Unmanage @("$nodeID",$now,$($myLine[1]),$false)

     }

   }

Adding new tab to Orion view? Possible?

$
0
0

I wanted to ask around and see if it was possible to add a new tab to the main Orion view? For example.... I would like to add a new tab that when moused over would list out each of my real time dashboard views. Possible? Any other suggestions would be most welcomed.

anyone who can parse below text with powershell.

$
0
0

Dear, Team.

Find the method to parse below text ,

Anyone who can tell to me the method to parse to below???

 

===PARSE RESULT============

Ethernet1/49

Tx Power   -2.67    

Rx Power  -3.48    

 

 

 

===ORIGINAL=================

Ethernet1/47

    transceiver is not applicable

Ethernet1/48

    transceiver is not applicable

Ethernet1/49

    transceiver is present

    type is 10Gbase-SR

    name is SumitomoElectric

    part number is SPP5100SR-YB   

    revision is A  

    serial number is 42T569100590   

    nominal bitrate is 10300 MBit/sec

    Link length supported for 50/125um OM2 fiber is 82 m

    Link length supported for 50/125um OM3 fiber is 300 m

    cisco id is --

    cisco extended id number is 4

           SFP Detail Diagnostics Information (internal calibration)

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

                Current              Alarms                  Warnings

                Measurement     High        Low         High          Low

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

  Temperature   38.54 C        75.00 C     -5.00 C     70.00 C        0.00 C

  Voltage        3.28 V         3.63 V      2.97 V      3.46 V        3.13 V

  Current        5.50 mA       15.00 mA     2.00 mA    14.00 mA       2.50 mA

  Tx Power       -2.67 dBm       1.49 dBm  -11.30 dBm   -1.50 dBm     -7.30 dBm

  Rx Power       -3.48 dBm       1.99 dBm  -13.97 dBm   -1.00 dBm     -9.91 dBm

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

  Note: ++  high-alarm; +  high-warning; --  low-alarm; -  low-warning

new-swisobject fails

$
0
0


I've been able to pull data

get-swisdata, get-swisobject

 

I've been able to updte data

set-swisobject

 

But this always fails for me

$newNodeUri=New-SwisObject$swis–EntityType"Orion.Nodes"–Properties$newNodeProps

 

 

 

New-SwisObject : Object reference not set to an instance of an object.

 

 

 

I don't understand why new-swisobject fails as the $swis connection works for everything else.


Would someone mind providing an example of the following rest calls: Node create, add Monitoring template

$
0
0

Would someone provide an example of the following rest calls:

 

1. Creating a node

2. Adding a monitoring template

Help with SWQL - Day of the week?

$
0
0

Ok, just starting off with SWQL and I am trying to replicate some of the things that have been done with report-writer in the past here.   One of the things is a report that gives availability for a group of sites during business hours (ie: M-F 8am-5pm).    Curious how this can be done?  I've got it to the point where I'm getting availability reports, and I'm getting them for between the hours of 8am to 5pm (I think).  But I'm stuck on how to get the Day-of-the-week (DOTW) done?

 

Was hoping for a function that might return that, but I don't see any in the documentation I've been able to dig up.   I was thinking of using the DayDiff function to find the # of days since a given Monday lets say, and then wanted to mod it by 7 and figure out the DOTW based on the remainder, but I don't think SWQL has that kind of math ability?

 

Anyone have any good ideas for getting this done?   Or am I SOL on getting it done with SWQL?  :-)

How many REST calls can I make at any given time?

$
0
0

I'm trying to write code to feed an internal monitoring tool we have here and so I've written code to spin up a Task (C# / .Net 4.5) for each of our, say 900-1200 monitored nodes/devices and query the Events table for each device. The problem I'm seeing so far is that many of the tasks are throwing A Task was cancelled exceptions and/or that the Task(s) have timed out after I .Wait() for them for FOUR minutes.

 

So, can anyone tell me what the limit of concurrent connections are to the REST [/Query] API?

 

 

Thanks,

Scott

NCM 7.3 moves to SWISv3

$
0
0

For a long time now, data and commands for Network Configuration Manager (NCM) were only available through SWISv2. Starting with NCM 7.3 - SolarWinds NCM 7.3 Release Candidate is Available! - NCM data and commands are now available through SWISv3, including the REST/JSON API. Scripts you have that target SWISv2 and leverage NCM entities should still work (though as always it is recommended to test any important scripts against new versions before upgrading production). You should switch these scripts to use SWISv3 when you can - future features may be added to SWISv3 only.

Is there any way to perform CRUD operations on alert action definitions via the REST API?

$
0
0

Is there any way to perform CRUD operations on alert action definitions via the REST API, or query via SWQL? I can see the ActionDefinitions table via MSSQL but not via SWQL studio, I'm not sure if this is an oversight/bug versus intended behavior as the AlertDefinitions table is present in both.

 

This is for Orion Platform 2014.1.0, NPM 10.7, and SAM 6.1.0.

How can I create a plugin that verifies the state of an external service (moebius)

$
0
0

Dear community,

 

I need to create a plugin that connects with an external service (moebius in particular). The idea is that this plugin informs SolarWinds, so it can execute an action, depending on the information that it receives.

My very first problem is that I don't know how to use Orion SDK. I would be very thankful if you can teach me a little.

 

Greetings,

Sergio

How can connect with swis version 3

$
0
0

$swis = Connect-Swis -v3 -host $hostname -cred $cred

 

this seems not working, how can i make it working...?


Powershell Code for Checking NXOS Image Size

$
0
0

Dear, Team

this is code for the kickstart and system image size check using "dir" command

 

===========CODE START HERE============

# Nexus 3048 OS Image Size check v1.0
# Last Update: 2014.05.27
# Email : david.shin@hostingglobal.co.kr
# Author : David, Shin.

 

if (! (Get-PSSnapin | where {$_.Name -eq "SwisSnapin"})) {
    Add-PSSnapin "SwisSnapin"
}

$hostname = "127.0.0.1"
$username = "admin"
$password = New-Object System.Security.SecureString
$cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$swis = Connect-Swis -v2 -host $hostname -cred $cred


function CustomInputBox([string] $title, [string] $message, [string] $defaultText)
{
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$userForm = New-Object System.Windows.Forms.Form
$userForm.Text = "$title"
$userForm.Size = New-Object System.Drawing.Size(290,150)
$userForm.StartPosition = "CenterScreen"
$userForm.AutoSize = $False
$userForm.MinimizeBox = $False
$userForm.MaximizeBox = $False
$userForm.SizeGripStyle= "Hide"
$userForm.WindowState = "Normal"
$userForm.FormBorderStyle="Fixed3D"
   
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(115,80)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$value=$objTextBox.Text;$userForm.Close()})
$userForm.Controls.Add($OKButton)
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(195,80)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$userForm.Close()})
$userForm.Controls.Add($CancelButton)
$userLabel = New-Object System.Windows.Forms.Label
$userLabel.Location = New-Object System.Drawing.Size(10,20)
$userLabel.Size = New-Object System.Drawing.Size(280,20)
$userLabel.Text = "$message"
$userForm.Controls.Add($userLabel)
$objTextBox = New-Object System.Windows.Forms.TextBox
$objTextBox.Location = New-Object System.Drawing.Size(10,40)
$objTextBox.Size = New-Object System.Drawing.Size(260,20)
$objTextBox.Text="$defaultText"
$userForm.Controls.Add($objTextBox)
$userForm.Topmost = $True
$userForm.Opacity = 1
     $userForm.ShowIcon = $False
$userForm.Add_Shown({$userForm.Activate()})
[void] $userForm.ShowDialog()
return $value

}

function button ($title, $kick, $kick_size, $system, $system_size) {

###################Load Assembly for creating form & button######

[void][System.Reflection.Assembly]::LoadWithPartialName( “System.Windows.Forms”)
[void][System.Reflection.Assembly]::LoadWithPartialName( “Microsoft.VisualBasic”)

#####Define the form size & placement

$form = New-Object “System.Windows.Forms.Form”;
$form.Width = 600;
$form.Height = 150;
$form.Text = $title;
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen;
$form.AutoSize = $False
$form.MinimizeBox = $False
$form.MaximizeBox = $False
$form.SizeGripStyle= "Hide"
$form.WindowState = "Normal"
$form.FormBorderStyle="Fixed3D"

##############Define text label1
$textLabel1 = New-Object “System.Windows.Forms.Label”;
$textLabel1.Left = 25;
$textLabel1.Top = 10;
$textLabel1.width = 150;
$textLabel1.Text = $kick;

##############Define text label2

$textLabel2 = New-Object “System.Windows.Forms.Label”;
$textLabel2.Left = 25;
$textLabel2.Top = 35;
$textLabel2.Text = $kick_size;

##############Define text label3

$textLabel3 = New-Object “System.Windows.Forms.Label”;
$textLabel3.Left = 25;
$textLabel3.Top = 60;
$textLabel3.Text = $system;

##############Define text label4

$textLabel4 = New-Object “System.Windows.Forms.Label”;
$textLabel4.Left = 25;
$textLabel4.Top = 85;
$textLabel4.Text = $system_size;

############Define text box1 for input
$textBox1 = New-Object “System.Windows.Forms.TextBox”;
$textBox1.Left = 200;
$textBox1.Top = 10;
$textBox1.width = 200;

############Define text box2 for input

$textBox2 = New-Object “System.Windows.Forms.TextBox”;
$textBox2.Left = 200;
$textBox2.Top = 35;
$textBox2.width = 200;

############Define text box3 for input

$textBox3 = New-Object “System.Windows.Forms.TextBox”;
$textBox3.Left = 200;
$textBox3.Top = 60;
$textBox3.width = 200;

############Define text box4 for input

$textBox4 = New-Object “System.Windows.Forms.TextBox”;
$textBox4.Left = 200;
$textBox4.Top = 85;
$textBox4.width = 200;

#############Define default values for the input boxes
# $defaultValue = “”
# $textBox1.Text = $defaultValue;
# $textBox2.Text = $defaultValue;
# $textBox3.Text = $defaultValue;
# $textBox4.Text = $defaultValue;

$textBox1.Text = "n3000-uk9-kickstart.6.0.2.U3.1.bin";
$textBox2.Text = "32491008";
$textBox3.Text = "n3000-uk9.6.0.2.U3.1.bin";
$textBox4.Text = "215973850";

#############define OK button
$button1 = New-Object “System.Windows.Forms.Button”;
$button1.Left = 410;
$button1.Top = 10;
$button1.Width = 100;
$button1.Text = “Ok”;

#############define OK button
$button2 = New-Object “System.Windows.Forms.Button”;
$button2.Left = 410;
$button2.Top = 35;
$button2.Width = 100;
$button2.Text = “CANCEL”;

############# This is when you have to close the form after getting values
$eventHandler1 = [System.EventHandler]{
$textBox1.Text;
$textBox2.Text;
$textBox3.Text;
$textBox4.Text;
$form.Close();
};

$eventHandler2 = [System.EventHandler]{
$form.Close();
};

$button1.Add_Click($eventHandler1) ;
$button2.Add_Click($eventHandler2) ;

#############Add controls to all the above objects defined
$form.Controls.Add($button1);
$form.Controls.Add($button2);
$form.Controls.Add($textLabel1);
$form.Controls.Add($textLabel2);
$form.Controls.Add($textLabel3);
$form.Controls.Add($textLabel4);
$form.Controls.Add($textBox1);
$form.Controls.Add($textBox2);
$form.Controls.Add($textBox3);
$form.Controls.Add($textBox4);
$ret = $form.ShowDialog();

#################return values


return $textBox1.Text, $textBox2.Text, $textBox3.Text, $textBox4.Text
}


$group = CustomInputBox "NXOS IMAGE SIZE CHECK" "INPUT NODE GROUP" "w3_z3_oob"
if ( $group -ne $null )
{
}
else
{
"Cancelled!!"
break
}

$return= button "INPUT EACH IMAGE SIZE" "KICKSTART IMAGE" "KICKSTART SIZE" "SYSTEM IMAGE" "SYSTEM SIZE"

if ( $return -ne $null )
{
"KICKSTART IMAGE " + $return[0]
"KICKSTART SIZE  " + $return[1]
"SYSTEM    IMAGE " + $return[2]
"SYSTEM    SIZE  " + $return[3]
}
else
{
"Cancelled!!"
break
}


$script="dir"

$date=Get-Date -format "yyMMddhhmm"
$File = "C:\NBP\RESULT\$date-$script-IMAGE_CHECK-$group.txt"

If ( Test-Path $File)
{
   Remove-Item $File
}


#$ip=read-host "INPUT IP ADDRESS"
#$nodeId = get-swisdata $swis "SELECT NodeID FROM Cirrus.Nodes WHERE AgentIP='$ip'"


$nodeId = get-swisdata $swis "SELECT NodeID FROM Cirrus.Nodes WHERE NodeGroup='$group'"


$count = 0
foreach ($node in $nodeId) {

#write-host $node
$Caption = get-swisdata $swis "SELECT NodeCaption FROM Cirrus.Nodes WHERE NodeId='$node'"

$nodeIdList = New-Object -TypeName "System.Guid[]" 1
$nodeIdList[0] = $node

Invoke-SwisVerb $swis Cirrus.ConfigArchive Execute @($nodeIdList, $script, $username) | Out-Null
$transferID = "{$node}:${username}:ExecuteScript"

do {
     Start-Sleep -Seconds 3
     $status = Get-SwisData $swis "SELECT T.Status, T.Error FROM Cirrus.TransferQueue T WHERE T.TransferID=@transfer" @{transfer=$transferID}
     Write-Host $status.Status
     #write-host $Caption
}
while (($status.Status -ne 'Complete') -and (-not $status.Error))

$output = Get-SwisData $swis "SELECT T.Log FROM Cirrus.TransferQueue T WHERE T.TransferID=@transfer" @{transfer=$transferID}
$output = $output.TrimStart($script)

        $output = $output -split ("`r`n")

foreach ($line in $output) {
      if ($line -match $return[0]) {$A = $line.trim()} 
       if ($line -match $return[2]) {$B = $line.trim()} 
        }   

$kickok = 0
$sysok = 0
$kickfail = 0
$sysfail = 0
$num = $count + 1

if ($A)
{
  %{$datakick = $A.split(" ") | where {$_ -ne ""};}
  If ($($datakick[0]) -eq $return[1])
  {
  $output = "$num $Caption KISKSTART File is OK"
  write-host $output
  $output | Out-File $File -append
  $kickok = $kickok + 1
  }
  Else
  {
  $output = "$num $Caption KICKSTART Size Different"
  write-host $output
      $output | Out-File $File -append
  $kickfail = $kickfail + 1
  }
}
else
{
  $output = "$num $Caption KICKSTART File Not Exist."
  write-host $output
      $output | Out-File $File -append

}


if ($B)
{
  %{$datasystem = $B.split(" ") | where {$_ -ne ""};}  
  If ($($datasystem[0]) -eq $return[3])
  {
  $output = "$num $Caption SYSTEM File is OK"
  write-host $output
  $output | Out-File $File -append
  $sysok = $sysok + 1
  }
  Else
  {
  $output = "$num $Caption SYSTEM Size Different"
  write-host $output
      $output | Out-File $File -append
  $sysfail = $sysfail + 1
  }
}
else
{
  $output = "$num $Caption SYSTEM File Not Exist."
  write-host $output
      $output | Out-File $File -append
}


$count = $count + 1
}


" " | Out-File $File -append
" " | Out-File $File -append
"KICKSTART IMAGE OK   TOTAL = $kickok " | Out-File $File -append
"KICKSTART IMAGE FAIL TOTAL = $kickfail " | Out-File $File -append
"SYSTEM    IMAGE OK   TOTAL = $sysok " | Out-File $File -append
"SYSTEM    IMAGE FAIL TOTAL = $sysfail " | Out-File $File -append
" " | Out-File $File -append
" " | Out-File $File -append
"Total : $count Devices Check Completed" | Out-File $File -append
Write-Host " "
Write-Host " "
Write-Host "Checking Total $count Devices Completed"

Help with SWQL - Day of the week?

$
0
0

Ok, just starting off with SWQL and I am trying to replicate some of the things that have been done with report-writer in the past here.   One of the things is a report that gives availability for a group of sites during business hours (ie: M-F 8am-5pm).    Curious how this can be done?  I've got it to the point where I'm getting availability reports, and I'm getting them for between the hours of 8am to 5pm (I think).  But I'm stuck on how to get the Day-of-the-week (DOTW) done?

 

Was hoping for a function that might return that, but I don't see any in the documentation I've been able to dig up.   I was thinking of using the DayDiff function to find the # of days since a given Monday lets say, and then wanted to mod it by 7 and figure out the DOTW based on the remainder, but I don't think SWQL has that kind of math ability?

 

Anyone have any good ideas for getting this done?   Or am I SOL on getting it done with SWQL?  :-)

Orion SDK: Error 'no endpoint listening'

$
0
0

Hi all,

 

I am working on a version of the script mentioned here (How to automate the creation of Orion Platform (aka Core) nodes from the API) and am running the script from NCM (version 7.0.2) server where I installed the SDK (version 1.5) and received this error.

 

Get-SwisData : There was no endpoint listening at net.tcp://localhost:17777/SolarWinds/InformationService/v3/Orion/ssl that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

At C:\Program Files (x86)\SolarWinds\Orion SDK\CopyNodes from Orion to NCM.ps1:57 char:18

+ if ((Get-SwisData  <<<< $target "SELECT Field FROM Orion.CustomProperty WHERE Table='Nodes' AND Field='ImportedByAPI'") -eq $null)

 

When I commented this line of code out, I received the same error on the next Get-SwisData command. The only changes I have made to the script are for username and password and IP Address.

 

Anyone know what might be going on here?

Limitations of CRUD

$
0
0

Hi,

 

Using the C# CRUD interface i see that i can create nodes, but will all the other types of items work? for example, can i create an Orion.Accounts or a Orion.Views using the CRUD interface?

 

Regards,

Alberto García

How many REST calls can I make at any given time?

$
0
0

I'm trying to write code to feed an internal monitoring tool we have here and so I've written code to spin up a Task (C# / .Net 4.5) for each of our, say 900-1200 monitored nodes/devices and query the Events table for each device. The problem I'm seeing so far is that many of the tasks are throwing A Task was cancelled exceptions and/or that the Task(s) have timed out after I .Wait() for them for FOUR minutes.

 

So, can anyone tell me what the limit of concurrent connections are to the REST [/Query] API?

 

 

Thanks,

Scott

Viewing all 3719 articles
Browse latest View live


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