私の目標は、PowerShellで、障害のないすべてのユーザーのAD表示名とパスワードの有効期限を示す単一のオブジェクトを作成することです。これは比較的簡単です。ただし、日付は読み取り不可能な形式で取得されるため、日付を変換します。
必要なデータを含む2つの変数の作成が機能しています。問題は、これら2つの変数を組み合わせようとすると、期待どおりに2つのヘッダーを持つ単一のオブジェクトが得られますが、以下の2つの列は空です。
Win 7ProSP1でPowerShellV2を使用しています
問題が何であるかについて何か考えはありますか?
# 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