Trying to use the following script (based on the 'Groups' example in the SDK) to add groups based on Nodes.Location and a CustomProperty !=
if (! (Get-PSSnapin | where {$_.Name -eq "SwisSnapin"})) { Add-PSSnapin "SwisSnapin" } # Connect to SWIS $hostname = "localhost" $username = "username here" $password = "password here" | ConvertTo-SecureString -asPlainText -Force $cred = New-Object -typename System.Management.Automation.PSCredential -argumentlist $username, $password $swis = Connect-Swis -host $hostname -cred $cred #Set the locatoin of the csv Set-Location 'C:\Users\username here\Desktop' # read in csv file $importFile="./MakeGroups.csv" $importList=IMPORT-CSV $importFile #iterate through each entry in csv file FOREACH($import in $importList) { $SiteCode = $import.Location $members = @( @{ Name = "$SiteCode"; Definition = "filter:/Orion.Nodes[Location='$SiteCode' AND CustomProperties.Device_Type != 'Router']" } ) $groupId = (Invoke-SwisVerb $swis "Orion.Container" "CreateContainer" @( # group name "$SiteCode", # owner, must be 'Core' "Core", # refresh frequency 60, # Status rollup mode: # 0 = Mixed status shows warning # 1 = Show worst status # 2 = Show best status 0, # group description "Group created by the PowerShell sample script.", # polling enabled/disabled = true/false (in lowercase) "true", # group members ([xml]@( "<ArrayOfMemberDefinitionInfo xmlns='http://schemas.solarwinds.com/2008/Orion'>", [string]($members |% { "<MemberDefinitionInfo><Name>$($_.Name)</Name><Definition>$($_.Definition)</Definition></MemberDefinitionInfo>" } ), "</ArrayOfMemberDefinitionInfo>" )).DocumentElement )).InnerText }
Keep getting this error:
Invoke-SwisVerb : Entity Orion.Nodes does not contain requested property A
At C:\Users\username here\Desktop\MakeGroups.ps1:32 char:14
+ $groupId = (Invoke-SwisVerb $swis "Orion.Container" "CreateContainer" @(
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Invoke-SwisVerb], FaultException`1
+ FullyQualifiedErrorId : SwisError,SwisPowerShell.InvokeSwisVerb
Looking in the DB, the script is creating the group under 'Containers', but there is not an entry being created under 'ContainerMemberDefinitions'
All help is appreciated