【发布时间】:2016-05-06 01:24:03
【问题描述】:
我有以下代码可以很好地从 AD 输出用户的显示名称和 accountExpires 属性。由于工作模式受限,我在命令行上运行它们:
$objSearch.findall() | %{" " + $_.properties.displayname + "| " + $_.properties.accountexpires}
现在我需要将此输出,特别是 accountExpires 属性转换为人类可读的日期。 谷歌搜索后,我发现我可以使用以下内容在 accountExpires 和 datetime 之间进行转换。
[datetime]::fromfiletime(129138320987173880)
但是我在将两者结合起来时遇到了问题。我尝试了以下方法:
$objSearch.findall() | %{" "+ $_.properties.displayname + " " + [datetime]::fromfiletime($_.properties.accountexpires)}
无法将参数“0”,值为:“System.DirectoryServices.ResultPropertyValueCollection”,将“FromFileTime”类型转换为“System.Int64”:“无法将“System.DirectoryServices.ResultPropertyValueCollection”类型的值转换为“System. DirectoryServices.ResultPropertyValueCollection”以键入“System.Int64”。 在行:1 字符:96 + $objSearch.findall() | %{" "+ $.properties.displayname + " " + [datetime]::fromfiletime .properties.accountexpires)} + CategoryInfo : NotSpecified: (:) [], MethodException + FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument
$objSearch.findall() | %{" "+ $_.properties.displayname + " " + [datetime]::fromfiletime $_.properties.accountexpires}
表达式或语句中出现意外标记“”。 在行:1 字符:99 + $objSearch.findall() | %{"这是 "+ $.properties.displayname + " " + [datetime]::fromfiletime $_
如何将 accountExpires 转换为人类可读的日期?
【问题讨论】: