如何创建powershell脚本以提取active directory用户名、他们所属的帐户和LastLogonData?

如何创建powershell脚本以提取active directory用户名、他们所属的帐户和LastLogonData?,powershell,active-directory,Powershell,Active Directory,这是我目前所拥有的,但我运气不好。你们都怎么想 Get-ADUser -LDAPFilter "(name=*)" -SearchScope Subtree ` -SearchBase "OU=adminaccounts,OU=Managed Objects,DC=testdomain,DC=Com" ` | % { $user = $_ $user | Get-ADPrincipalGroupMembership | Select @{N="User";E={

这是我目前所拥有的,但我运气不好。你们都怎么想

Get-ADUser -LDAPFilter "(name=*)" -SearchScope Subtree `
  -SearchBase "OU=adminaccounts,OU=Managed Objects,DC=testdomain,DC=Com" ` |
  % {
    $user = $_
    $user | Get-ADPrincipalGroupMembership | 
    Select @{N="User";E={$user.sAMAccountName}},
           @{N="Group";E={$_.Name}},
           @{N="Last‌​Logon";E={[DateTime]::FromFileTime($user.LastLogon)}}
  } |
  Select User,Group,LastLogon |
  Export-Csv C:\temp\report.csv -nti

LastLogon
不属于默认返回的属性,这与
Name
SamAccountName
不同。您需要明确告诉cmdlet包含该属性:

Get-ADUser -LDAPFilter "(name=*)" -SearchScope Subtree `
  -SearchBase "OU=adminaccounts,OU=Managed Objects,DC=testdomain,DC=Com" `
  -Properties LastLogon | ...

我们认为您需要更具体地说明“运气不佳”。很抱歉,我对powershell还是新手。脚本输出除lastlogondate之外的所有内容。Ok进行了调整。我根据您的建议编辑了原始问题中的脚本。不幸的是,它给了我同样的结果。显示用户和组,但不显示lastlogon。这会变得单调乏味。请再读一遍我的答案。我建议做两个改变。添加第二个时,我是否告诉过您删除第一个?你为什么要删除它?我会把它放在当前脚本之前吗?@JeremySmith你会修改当前脚本。上面代码段的一部分用粗体强调是有原因的。我在第一个脚本中添加了您建议的更改。你觉得怎么样?我尝试了这个脚本,但它仍然只返回用户名和组成员身份
... | select ...,@{N="Last‌​Logon";E={[DateTime]::FromFileTime($user.LastLogon)}}