从LastLogonTimestamp中提取日期

时间:2012-04-19 04:10:45

标签: powershell active-directory timestamp

我使用dos命令“w32tm”将Active Directory LastLogonTimestamp转换为可读日期格式。但它给我这样的东西:150215 02:40:10.0843593 - 11/04/2012 12:40:10 PM

我如何从字符串中提取日期?所以我可以在其中添加一个只有“11/04/2012”的变量。

感谢。

2 个答案:

答案 0 :(得分:3)

这是另一个选项(适用于System.DirectoryServices.SearchResult对象)

# gets the current logged on user lastlogontimestamp
$user = ([ADSISEARCHER]"(samaccountname=$env:USERNAME)").FindOne()
[DateTime]::FromFileTime([Int64]::Parse($user.Properties.lastlogontimestamp))

答案 1 :(得分:1)

您可以尝试以下代码。这不是最干净但它有效!

[DateTime]::Parse($string.Split('-')[1]).ToString("MM/dd/yyyy") 

这将您的输入字符串150215 02:40:10.0843593 - 11/04/2012 12:40:10 PM拆分为-之后的片段,将其传递给.NET的DateTime.Parse()函数,然后最终输出它的日期部分。