从Teradata LDAP中提取1列并存储在数组/表中以在脚本中使用

时间:2019-04-29 18:17:12

标签: powershell active-directory teradata

我的PowerShell技能薄弱/生锈。寻求帮助。

总体而言,我想执行以下操作:

  1. 使用LDAP从Teradata中提取Active Directory组名称的静态列表。

    SELECT GroupName FROM DB1.AdGroupList
    
  2. 将这些条目存储在内存中的表中以供参考。

  3. 使用Get-ADGroupMember获取每个组的成员。
  4. 将该组名和AD数据放入第二个Teradata表。

    "Insert into DB1.AdGroupMembers
    (GroupName, Name, GivenName, SurName, SamAccountName)"
    

第一个问题是从LDAP获取Teradata数据并将其存储。 PowerShell对于Teradata几乎没有帮助。

1 个答案:

答案 0 :(得分:0)

队友提出了一个简单但实​​用的解决方案。 AD列表在脚本中进行了硬编码,并且输出到文本文件。 SSIS将提取文本文件。这不是完整的解决方案,但是使我们能够停止运行MS Access进程。

Import-Module ActiveDirectory
$ObjectResults = @()
$Groups =  "HardCodedGroup1","HardCodedGroup1"
Foreach ($Group in $Groups)
{
$Members = (Get-ADGroupMember $Group)
# $Uname = ( Get-ADUser -Filter $Group | Select-Object  samaccountname )

ForEach ($Member in $Members)
{
    $Out = New-Object PSObject
    $Out | Add-Member -MemberType noteproperty -Name Name -Value $Member.Name
    $Out | Add-Member -MemberType noteproperty -Name Group -Value $Group
    $Out | Add-Member -MemberType noteproperty -Name USERNAME -Value 
$Member.samaccountname

    $Out

    $ObjectResults += $Out
}

}

$ObjectResults | export-csv C:\Temp\AD\output.csv -NoTypeInformation
相关问题