powershell - 提取多位信息并导出到报告中
问题描述
我正在尝试创建一个报告来查看我系统上当前启用和禁用的所有用户,并显示他们的上次登录时间。
我有两个不同的脚本来完成每项工作,但是,我试图将它们合并到同一个脚本中,这样我就可以同时查看所有这些信息,但会遇到问题。
这是我目前收集信息的尝试:
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)
提取上次登录日期的最佳方法是什么,允许在一份报告中提取此信息?
解决方案
我设法将我已经拥有的脚本修改为以下内容:
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"
这段代码已经解决了这个问题,但是,仍然不确定为什么我的原始代码没有正确完成。
推荐阅读
- javascript - 使用 getElementsByClassName 计算输入字段值
- bigdata - KNN 的大型数据集
- java - 如何在 Java 中创建和输出文件
- node.js - 如何修复 node.js 应用程序中的 ECONNREFUSED 错误
- c# - 如何使用 EF Core 2.2 将 JSON_VALUE 转换为 DateTime?
- reactjs - formik + yup 和验证子反应组件中的字段
- r - ggplot, sf package, 如何在地图上制作简单的饼图
- python - 如何使用 ALAudioDevice“订阅”方法调用“处理”函数
- c# - 如何从列表中删除项目
在使用多个线程枚举列表时? - python - 写入新文件时找不到文件