Hello all,
I am new to Orion Sdk and solar winds orion in general
I am trying to start a discovery from a subnet i have google it and found code in github so i managed to get my own from that here it is
$credSwis=Get-Credential
$swis=Connect-Swis -Credential $credSwis
#Credential Configuration
$credentialid1=Get-SwisData $swis "SELECT ID FROM Orion.Credential WHERE CredentialOwner='Orion' AND Name='admin'"
$credentialid2=Get-SwisData $swis "SELECT ID FROM Orion.Credential WHERE CredentialOwner='Orion' AND Name='custom'"
#Core plugin configuration
$CorePluginConfigurationContext = ([xml]"
192.168.200.0
255.255.255.0
$credentialid1
1
$credentialid2
2
1
1000
").DocumentElement
$CorePluginConfiguration = Invoke-SwisVerb $swis Orion.Discovery CreateCorePluginConfiguration @($CorePluginConfigurationContext)
#interface plugin Configuration
$InterfacesPluginConfigurationContext = ([xml]"
Up
Down
Shutdown
Virtual
Physical
Trunk
Access
Unknown
false
").DocumentElement
$InterfacesPluginConfiguration = Invoke-SwisVerb $swis Orion.NPM.Interfaces CreateInterfacesPluginConfiguration @($InterfacesPluginConfigurationContext)
#Discover contex
$EngineID = 2
$DeleteProfileAfterDiscoveryCompletes = "true"
$StartDiscoveryContext = ([xml]"
Script Discovery $([DateTime]::Now)
$EngineID
3600
2000
2000
1
1500
161
0
SNMP2c
false
false
true
$DeleteProfileAfterDiscoveryCompletes
$($CorePluginConfiguration.InnerXml)
$($InterfacesPluginConfiguration.InnerXml)
").DocumentElement
#run discovery and get ID
$DiscoveryProfileID = (Invoke-SwisVerb $swis Orion.Discovery StartDiscovery @($StartDiscoveryContext)).InnerText
#discovery status
do {
Start-Sleep -Seconds 1
$Status = Get-SwisData $swis "SELECT Status FROM Orion.DiscoveryProfiles WHERE ProfileID = @profileId" @{profileId = $DiscoveryProfileID}
} while ($Status -eq 1)
#discovery result
$Result = Get-SwisData $swis "SELECT Result, ResultDescription, ErrorMessage, BatchID FROM Orion.DiscoveryLogs WHERE ProfileID = @profileId" @{profileId = $DiscoveryProfileID}
switch($Result){
0{Write-Host "Unkown"}
1{Write-Host "in Progeress"}
2{
Write-Host "Finished"
Get-SwisData $swis "SELECT EntityType, DisplayName, NetObjectID FROM Orion.DiscoveryLogItems WHERE BatchID = @batchId" @{batchId = $Result.BatchID}
}
3{Write-Host "discovery error"}
4{Write-Host "Not scheduled"}
5{Write-Host "Scheduled"}
6{Write-Host "Not completed"}
7{Write-Host "Canceling"}
8{Write-Host "Ready for import"}
}
but it get the following error:
Invoke-SwisVerb : No valid connection information received for a service 'ServiceId:
Core.BusinessLayer, ServiceLogicalInstanceId: engine:2, ServiceInstancePropertyFilters:
isLocal-False, isStreamed-False'.
Au caractère C:\Users\PC_IGY\Documents\discover.ps1:83 : 24
+ ... rofileID = (Invoke-SwisVerb $swis Orion.Discovery StartDiscovery @($S ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [Invoke-SwisVerb], FaultException`1
+ FullyQualifiedErrorId : SwisError,SwisPowerShell.InvokeSwisVerb
if anyone can help please.
Thanks in advanec