如何创建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="LastLogon";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="LastLogon";E={[DateTime]::FromFileTime($user.LastLogon)}}