Hi All,
I am trying to bulk update group properties through SWIS using powershell. When I try to set the filter definition using a variable from a csv it creates the dynamic query but dumps all the 7 columns data into the query and changes the Orion Object to Address instead of SysName. If I replace '$SWSite.SiteCode' with text it works as expected.
foreach($SWSite in $sitedata) {
$members = @(
@{ Name = "Network Code"; Definition = "filter:/Orion.Nodes[StartsWith(SysName, '$SWSite.SiteCode')]" })
Invoke-SwisVerb $swis "Orion.Container" "SetDefinitions" @(
# group ID
$groupId,
# group members
([xml]@(
"<ArrayOfMemberDefinitionInfo xmlns='">schemas.solarwinds.com/.../Orion'>",
[string]($members |% {
"<MemberDefinitionInfo><Name>$($_.Name)</Name><Definition>$($_.Definition)</Definition></MemberDefinitionInfo>"
}
),
"</ArrayOfMemberDefinitionInfo>"
)).DocumentElement
) | Out-Null}
If I run $SWSIte.Sitecode it returns the correct value. What am I doing wrong here (My SWIS and PS are very minimal)
Thanks
Matt