首页 > 解决方案 > 提取多位信息并导出到报告中

问题描述

我正在尝试创建一个报告来查看我系统上当前启用和禁用的所有用户,并显示他们的上次登录时间。

我有两个不同的脚本来完成每项工作,但是,我试图将它们合并到同一个脚本中,这样我就可以同时查看所有这些信息,但会遇到问题。

这是我目前收集信息的尝试:

get-aduser -Filter * -Properties CN,samaccountname,AccountExpirationDate,Enabled,lastLogonTimestamp | Select CN,samaccountname,AccountExpirationDate,Enabled,@{n="lastLogonDate";e={[datetime]::FromFileTime,
($_.lastLogonTimestamp)}} |sort Enabled | export-csv "c:\lemon.csv"

但结果是我最后一次登录显示为static datetime FromFileTime(long fileTime)

提取上次登录日期的最佳方法是什么,允许在一份报告中提取此信息?

标签: powershellcsvactive-directory

解决方案


我设法将我已经拥有的脚本修改为以下内容:

Import-Module ActiveDirectory

Get-ADUser -Filter * -SearchBase "DC=x,DC=x,DC=x" -ResultPageSize 0 -Property CN,Description, Enabled, LastLogonTimestamp |
    Select-Object -Property CN, Description,Enabled, @{ n = "LastLogonDate"; e = { [datetime]::FromFileTime( $_.lastLogonTimestamp ) } } |
    Sort-Object -Property CN, Description, Enabled, LastLogonDate |
    Export-CSV -NoTypeInformation "C:\Users\x\Desktop\results2.csv"

这段代码已经解决了这个问题,但是,仍然不确定为什么我的原始代码没有正确完成。


推荐阅读