나는 Microsoft.SqlServer.Management.Smo.Server
개체의 목록을 interating 등 같은 해시 테이블에 추가하고 :Hashtable 값을 powershell에 추가하는 방법?
$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?>)
}
}
}
건배
그런데 HashTable 일 필요는 없습니다. 아마도'System.Collections.Generic.Dictionary [string, string]'이 더 좋을까요? –
마크 : PowerShell의 제네릭은 약간 까다 롭습니다. 내가 필사적으로 필요로하지 않는다면, 코드를 실제로 사용하는 것이 분명하지 않기 때문에 대부분 사용한다고 말하고 싶습니다. – Joey