【发布时间】:2015-02-15 08:50:24
【问题描述】:
我有一个脚本,它从 SQL Server 中的一个表中读取组列表,并用组成员填充另一个表。这用作 SQL 安全审计的一部分。该脚本运行良好,但有一个例外。如果该组只有一个成员,则数据不正确。
SamAccountName 应该是 X012345,名字应该是 Jane Doe,但我得到的是“D”和“”。
下面是部分代码:
foreach ($groupID in $dbdata)
{
$Scan_Date = $dbdata.Scan_Date[$dn]
$group = $dbdata.groupID[$dn]
$Group_Name = $dbdata.Group_Name[$dn]
[array]$groupusers = get-adgroupmember $Group_Name -Recursive | select SamAccountName, name
#$groupusers
$gn = 0
[string]$col1 = ""
[string]$col2 = ""
foreach ($name in $groupusers)
{
$groupusers[$gn]
$col1 = $groupusers.SamAccountName[$gn]
$col2 = $groupusers.name[$gn]
$col2 = $col2.replace("'","`'`'")
write-host $Group_Name, $col1, $col2
$query = @"
INSERT INTO $ssi_table
([GroupID]
,[Scan_Date]
,[Group_Name]
,[User_ID]
,[User_Name])
VALUES ('$Group_Name', '$Scan_Date', '$Group_Name', '$col2', '$col3')
"@
Run-SqlQuery -Query $query -Database $ssi_database -Server $ssi_instance
$gn = $gn + 1
}
【问题讨论】:
标签: powershell active-directory