ADからユーザーのdisplaynameとaccountExpires属性を出力するために正常に機能する次のコードがあります。動作が制限されているため、コマンドラインで実行しています。
$objSearch.findall() | %{" " + $_.properties.displayname + "| " + $_.properties.accountexpires}
次に、この出力、具体的にはaccountExpires属性を人間が読み取れる日付に変換する必要があります。グーグルした後、次のようなものを使用して、accountExpiresとdatetimeの間で変換できることがわかりました。
[datetime]::fromfiletime(129138320987173880)
しかし、私は2つを組み合わせるのに問題があります。私は次のことを試しました:
$objSearch.findall() | %{" "+ $_.properties.displayname + " " + [datetime]::fromfiletime($_.properties.accountexpires)}
「FromFileTime」の引数「0」を値「System.DirectoryServices.ResultPropertyValueCollection」で「System.Int64」タイプに変換できません:「「System.DirectoryServices.ResultPropertyValueCollection」値を「System.DirectoryServices.ResultPropertyValueCollection」タイプに変換できません「「System.Int64」と入力します。」行:1 char:96 + $ objSearch.findall()| %{"" + $ .properties.displayname + "" + [datetime] :: fromfiletime <<<<($ .properties.accountexpires)} + CategoryInfo:NotSpecified:(:) []、MethodException + FullyQualifiedErrorId:MethodArgumentConversionInvalidCastArgument
$objSearch.findall() | %{" "+ $_.properties.displayname + " " + [datetime]::fromfiletime $_.properties.accountexpires}
式またはステートメントの予期しないトークン' '。行:1 char:99 + $ objSearch.findall()| %{"これは" + $ .properties.displayname + "" + [datetime] :: fromfiletime $ _ <<<< .properties.accountexpires} + CategoryInfo:ParserError:(_:String)[]、ParentContainsErrorRecordException + FullyQualifiedErrorId: UnexpectedToken
accountExpiresを人間が読める日付に変換するにはどうすればよいですか?