मैं Microsoft.SqlServer.Management.Smo.Server
ऑब्जेक्ट्स की एक सूची के माध्यम से इंटरैटिंग कर रहा हूं और उन्हें एक हैशटेबल में जोड़ रहा हूं:Powerhell हैशटेबल मूल्य में कैसे संलग्न करें?
$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())
}
}
अब तक इतना अच्छा है। मैं अब क्या करना चाहता हूं हैशटेबल मान के अंत में एक स्ट्रिंग जोड़ना है। तो एक $ उदाहरण के लिए मैं उस $ उदाहरण के लिए हैशटेबल मान में एक स्ट्रिंग जोड़ना चाहता हूं। मुझे यह कैसे करना है? मैंने इसके साथ शुरुआत की है, लेकिन मुझे यकीन नहीं है कि मैं सही रास्ते पर हूं:
foreach ($db in $instance.Databases)
{
foreach ($luser in $db.Users)
{
if(!$luser.IsSystemObject)
{
$scripts.Set_Item ($instance, <what do I add in here?>)
}
}
}
चीयर्स
जिस तरह से इसे हैशटेबल नहीं होना चाहिए - शायद एक 'System.Collections.Generic.Dictionary [स्ट्रिंग, स्ट्रिंग]' बेहतर होगा? –
मार्क: पावरशेल में जेनेरिक थोड़ा मुश्किल है, यद्यपि। अधिकांश समय मैं कहूंगा कि यदि आपको उनकी अत्यधिक आवश्यकता नहीं है, तो उनका उपयोग न करें क्योंकि कोड वास्तव में कम स्पष्ट है। – Joey