将相同格式导出至 CSV

将相同格式导出至 CSV

下面的命令是我从微软网站上直接摘取的。它能正常工作并产生如下结果:

名称、PasswordLastSet 和 LastLogonStamp。

现在,我需要知道要输入什么才能将其导出为具有相同格式的 CSV,即名称、密码最后设置、上次登录戳等。

我对 PS 脚本一无所知,所以这似乎是一个愚蠢的问题,但我无法弄清楚。

$d = [DateTime]::Today.AddDays(-180)

Get-ADUser -Filter '(PasswordLastSet -lt $d) -or (LastLogonTimestamp -lt $d)' -Properties PasswordLastSet,LastLogonTimestamp | ft Name,PasswordLastSet,@{N="LastLogonTimestamp";E={[datetime]::FromFileTime($_.LastLogonTimestamp)}}

答案1

最终有效的文本如下:

$d = [日期时间]::今天.添加天数(-180)

Get-ADUser -Filter '(PasswordLastSet -lt $d) -or (LastLogonTimestamp -lt $d)' -Properties PasswordLastSet,LastLogonTimestamp | Select-Object Name,PasswordLastSet,@{N="LastLogonTimestamp";E={[datetime]::FromFileTime($_.LastLogonTimestamp)}} | Export-Csv -Path C:\Another.csv -NoTypeInformation

感谢大家的帮助!!

答案2

Format-Tableft仅适用于控制台视图 -Select-Object用于其他任何用途,以及Export-CSV输出到文件。 变量不会$d在单引号内展开。 尝试以下操作:

$d = [DateTime]::Today.AddDays(-180).ToFileTime()

Get-ADUser -Filter "(LastLogon -lt $d) -or (PasswordLastSet -lt $d)" -Properties LastLogon,PasswordLastSet |
  Select-Object Name,PasswordLastSet,@{N="LastLogonTimestamp";E={[datetime]::FromFileTime($_.LastLogon)}} | 
  Export-CSV -Path 'C:\Folder\File.csv' -NoTypeInformation

编辑:您必须将您的初始日期转换为FileTime过滤之前,并且必须过滤这些特定的属性名称

相关内容