我编写了一个脚本以提取所有AD组名称的列表,然后将其输入到下一部分,该部分根据组的名称导出许多CSV文件:
import-module active directory
New-Item -Path "c:\" -Name "ADlist" -ItemType "directory"
get-adgroup -filter * | sort name | select Name | export-csv -Path c:\ADlist\adlist.csv
$ADlist = Import-Csv -Path "c:\ADlist\adlist.csv"
foreach ($ADgroup in $ADlist)
{
$export = get-ADGroupMember -identity $ADgroup.name | select name |Export-Csv "$ADgroup.csv" -notypeinformation
}
这有效,但是,csv名称输出异常,看起来类似于:
@ {Name = $ ADgroup}
而不是简单地
$ ADgroup
有没有办法将其纠正为这样输出?
答案 0 :(得分:3)
您的最后一个Export-Csv "$ADgroup.csv"
正在对您的$ADGroup
对象进行字符串化。由于该对象具有名为Name
的属性和关联的值,因此您将以该格式查看结果。您应该将其更改为以下内容:
$export = Get-ADGroupMember -Identity $ADgroup.name |
Select-Object Name |
Export-Csv "$($ADgroup.Name).csv" -NoTypeInformation
您可以通过将自定义对象括在引号中或使用Write-Host
来看到此行为。
"$ADgroup"
Write-Host $ADgroup