我的目标是在 powershell 中创建一个对象,显示所有非禁用用户的 AD 显示名称和密码到期日期。这相对容易。但是,日期以不可读的格式检索,因此我转换了日期。
创建包含我想要的数据的两个变量正在工作。问题是当我尝试组合这两个变量时,我得到一个带有两个标题的单个对象,但下面的两列是空的。
我在 Win 7 Pro SP1 上使用 PowerShell V2
任何想法可能是什么问题?
# Get users DisplayName and password expiration time from AD
$msdsComputed = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Where-Object {$_.DisplayName -ne $null}
# Convert date to human readable format
$ExpiryDate = $msdsComputed | Foreach-Object {
([datetime]::FromFileTime(($_)."msDS-UserPasswordExpiryTimeComputed"))
} | Select-Object "DateTime"
$combined = @{
DisplayName = $msdsComputed.DisplayName
ExpiryDate = $ExpiryDate.DateTime
}
New-Object PSObject -Property $combined | ConvertTo-Csv -NoTypeInformation