我正在通过Microsoft.SqlServer.Management.Smo.Server
对象列表进行交互,并将它们添加到哈希表中,如下所示:
$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())
}
}
到现在为止,一直都还不错。我现在想做的是在哈希表值的末尾追加一个字符串。因此,对于一个$instance,我想将一个字符串附加到该$instance的哈希表值。我该怎么做?我已经开始这样做了,但我不确定我是否走对了方向:
foreach ($db in $instance.Databases)
{
foreach ($luser in $db.Users)
{
if(!$luser.IsSystemObject)
{
$scripts.Set_Item ($instance, <what do I add in here?>)
}
}
}
干杯
3条答案
按热度按时间svgewumm1#
ccgok5k52#
我会用这个密码。
.
结果将是一个哈希表,每个示例作为一个键,以及一个字符串数组,其中每个字符串都是用户的T-SQL脚本。
rsaldnfx3#
.Script()
方法返回一个字符串集合。也许有一种更优雅的方法,但替换具有
应该起作用。