Nesting dynamic parameters in PowerShell -


i working on function insert row sql database. simple change log me track changed on various sql instances. part of this, want have following parameters:

  • timestamp
  • server
  • instance
  • change

i've got timestamp, change, , server figured out, instance giving me trouble. server parameter dynamic, pulls list of sql servers inventory. want value of parameter used in dynamic parameter, pulls list of instances on server (also inventory). here have dynamic portion:

dynamicparam {     if (!(get-module sqlps)){ pop-location; import-module sqlps -disablenamechecking; push-location }     $inventoryinstance = 'servername'     $newparams         = new-object system.management.automation.runtimedefinedparameterdictionary      $server_query      = 'select [name] [serverinventory].[dbo].[servers] [typeid] = 1 order [name]'     $servers           = invoke-sqlcmd -serverinstance $inventoryinstance -query $server_query -connectiontimeout 5     # populate array     $serverlist = @()     foreach ($servername in $servers.name) {          $serverlist += $servername     }      $attributes = new-object system.management.automation.parameterattribute     $attributes.parametersetname = "__allparametersets"     $attributes.position         = 1     $attributes.mandatory        = $true     $attributes.helpmessage      = "the server change made on"      # server list parameter setup     if ($serverlist){ $servervalidationset = new-object system.management.automation.validatesetattribute -argumentlist $serverlist }     $serverattributes = new-object -type system.collections.objectmodel.collection[system.attribute]     $serverattributes.add($attributes)     if ($serverlist){ $serverattributes.add($servervalidationset) }     $serverob = new-object -type system.management.automation.runtimedefinedparameter("server", [string], $serverattributes)     $newparams.add("server", $serverob)      $instance_query  = "select [name] [serverinventory].[dbo].[sqlinstances] [serverid] = (select [serverid] [serverinventory].[dbo].[servers] [name] = '$($psboundparameters.server)')"     $instances       = invoke-sqlcmd -serverinstance $inventoryinstance -query $instance_query -connectiontimeout 5     # populate array     $instancelist = @()     foreach ($instancename in $instances.name) {          $instancelist += $instancename     }      $attributes = new-object system.management.automation.parameterattribute     $attributes.parametersetname = "__allparametersets"     $attributes.position         = 2     $attributes.mandatory        = $false     $attributes.helpmessage      = "the instance change made on, not specify server-level changes"      # server list parameter setup     if ($instancelist){ $instancevalidationset = new-object system.management.automation.validatesetattribute -argumentlist $instancelist }     $instanceattributes = new-object -type system.collections.objectmodel.collection[system.attribute]     $instanceattributes.add($attributes)     if ($instancelist){ $instanceattributes.add($instancevalidationset) }     $instanceob = new-object -type system.management.automation.runtimedefinedparameter("instance", [string], $instanceattributes)     $newparams.add("instance", $instanceob)                  return $newparams } 

everything seems working, except value instance variable doesn't autocomplete. possible use value of 1 dynamic parameter generate another?


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -