如何使用PowerShell获取CSV文件中用户的到期日期?

时间:2017-03-02 14:51:13

标签: powershell csv

Import-CSV -Path .\csv_file.csv | ForEach-Object { 
    Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties “DisplayName”, “msDS-UserPasswordExpiryTimeComputed” |
    Select-Object -Property “Displayname”,@{Name=“ExpiryDate”;Expression={[datetime]::FromFileTime($_.“msDS-UserPasswordExpiryTimeComputed”)}}
} | Export-Csv .\results.csv -NoTypeInformation

这很有效但在AD中获得所有用户。我们有数千名用户。

我想获取CSV文件中的用户(第1列)。如果可能的话,我很乐意在同一个文件中创建一个有效期的第二列。

CSV文件

Jason.Bourne
Thomas.Smith
Judy.Doe
Topsy.kret

我修改了我的PowerShell脚本,但不确定如何将CSV文件中的值传入Get-ADUser

1 个答案:

答案 0 :(得分:2)

csv文件中带有samaccountname标头:

Import-CSV -Path C:\folder\input.csv | ForEach-Object { 
    Get-ADUser -Identity $_.samaccountname –Properties DisplayName,msDS-UserPasswordExpiryTimeComputed,Enabled,PasswordNeverExpires | Select-Object -Property Displayname,Enabled,PasswordNeverExpires,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
} | Export-CSV C:\folder\results.csv -NoTypeInformation