【发布时间】:2019-09-24 05:00:35
【问题描述】:
我正在尝试确定是否有办法切换下面的内容并将其导出到逗号分隔的 csv 文件中。
脚本运行良好并返回我关心的数据,只是不是可用的格式。
脚本获取特定组中的用户并循环访问用户列表,为每个用户提取附加信息。我对 powershell 不熟悉,因此由于缺乏知识,我可能会使这变得比必要的更难。
Import-module activedirectory
Function Process-Members($MemberList)
{
foreach ($member in $MemberList)
{
Get-ADUser -Identity $member.samaccountname -Properties * | select Name, SamAccountName, Enabled, @{Name='LastLogon';Expression={[DateTime]::FromFileTime($_.LastLogon)}}
dsquery user -samid $member.samaccountname | dsget user -memberof | dsget group -samid
}
}
$members = Get-ADGroupMember "MyGroupName" -recursive | Select-Object name, SamAccountName
Process-Members $members
【问题讨论】:
-
你为什么使用
dsquery/dsget?我认为这些结果可以通过 AD cmdlet 获得...如果可以,那么进行 CSV 导出的问题就会少得多... [grin] -
使用 dsquery/dsget 因为我不太清楚。我将研究 AD cmdlet,感谢您提供的信息。
-
AD* cmdlet 将返回一组基本属性。这样做是为了减少服务器上的负载。您可以使用
-Properties *获取整套产品,并查看所有可用的产品。尽量不要在生产中使用“把它们都给我”的东西,因为它会给你的 AD 服务器带来沉重的负担。 ///// 看看这个 >>> Active Directory:Get-ADUser 默认和扩展属性 - TechNet 文章 - 美国(英语) - TechNet Wiki — social.technet.microsoft.com/wiki/contents/articles/…
标签: powershell csv active-directory powershell-2.0