Question:
I am interating through a list of Microsoft.SqlServer.Management.Smo.Server
objects and adding them to a hashtable like so:
1 2 3 4 5 6 7 8 9 10 11 12 |
$instances = Get-Content -Path .\Instances.txt $scripts = @{} foreach ($i in $instances) { $instance = New-Object Microsoft.SqlServer.Management.Smo.Server $i foreach($login in $instance.Logins) { $scripts.Add($instance.Name, $login.Script()) } } |
So far so good. What I want to do now is append a string to the end of the hashtable value. So for an $instance I want to append a string to the hashtable value for that $instance. How would I do that? I have started with this, but I’m not sure if I’m on the right track:
1 2 3 4 5 6 7 8 9 10 11 |
foreach ($db in $instance.Databases) { foreach ($luser in $db.Users) { if(!$luser.IsSystemObject) { $scripts.Set_Item ($instance, } } } |
Cheers
Answer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$h= @{} $h.add("Test", "Item") $h Name Value ---- ----- Test Item $h."Test" += " is changed" $h Name Value ---- ----- Test Item is changed |