在Powershell中,如何将passwordLastSet设置为DateTime而不是AD中的对象?

在Powershell中,如何将passwordLastSet设置为DateTime而不是AD中的对象?,powershell,datetime,active-directory,Powershell,Datetime,Active Directory,我试图从Active Directory获取PasswordLastSet属性作为dateTime变量,但我只知道如何将其作为对象获取。最后,我想将该日期与当前日期进行比较,看看还有多少天,但我不知道如何将其转换为DateTime格式 我尝试过用不同的方式使用get aduser,但似乎无法将日期作为DateTime $serviceAccount='serviceAccountName' $expDate=get aduser$serviceAccount-properties*| ft pa

我试图从Active Directory获取PasswordLastSet属性作为dateTime变量,但我只知道如何将其作为对象获取。最后,我想将该日期与当前日期进行比较,看看还有多少天,但我不知道如何将其转换为DateTime格式

我尝试过用不同的方式使用get aduser,但似乎无法将日期作为DateTime

$serviceAccount='serviceAccountName'
$expDate=get aduser$serviceAccount-properties*| ft passwordlastset
$expDate.GetType()


我想得到一个DateTime结果,但我一直在得到一个对象。

永远不要使用
格式-*
cmdlet,然后捕获输出。这些用于格式化输出到屏幕。而是使用
|选择对象-展开passwordlastset
。您捕获的是一个格式化对象

$serviceAccount = 'serviceAccountName'
$expDate = get-aduser $serviceAccount -properties * | Select-Object -Expand passwordlastset
或者更简短的版本是:

$serviceAccount = 'serviceAccountName'
$expDate = get-aduser $serviceAccount -properties * | % passwordlastset

切勿通过管道传输到
格式-*
cmdlet,然后捕获输出。这些用于格式化输出到屏幕。而是使用
|选择对象-展开passwordlastset
。您捕获的是一个格式化对象

$serviceAccount = 'serviceAccountName'
$expDate = get-aduser $serviceAccount -properties * | Select-Object -Expand passwordlastset
或者更简短的版本是:

$serviceAccount = 'serviceAccountName'
$expDate = get-aduser $serviceAccount -properties * | % passwordlastset

更好的方法是
$expDate=(Get ADUser$ServiceAccount-Properties*).PasswordLastSet
-并将其作为日期时间返回,这可以通过检查
$expDate.GetType()
来显示。嗯,它应该与我发布的内容完全相同,只是有些人更难阅读。是的,但按您的方式执行会导致延迟,延迟ADUser对象通过管道,并调用
ForEach对象
cmdlet。我的没有;它可以更有效地直接从ADUser对象中提取请求的数据。更好的做法是只获取所需的属性(除了必需的属性外):获取ADUser$serviceAccount-propertiespasswordlastset@AxelAndersen-是的,但是当我这么做的时候,我得到了一些奇怪的结果,所以我只获取整个对象。更好的是
$expDate=(Get ADUser$ServiceAccount-Properties*)。PasswordLastSet
-它作为日期时间返回,这可以通过检查
$expDate.GetType()
)来显示。嗯,它应该与我发布的两个结果完全相同,对某些人来说,阅读起来更难。是的,但是按照您的方式执行会导致延迟,延迟ADUser对象通过管道,并调用
ForEach对象
cmdlet。我的没有;它可以更有效地直接从ADUser对象中提取请求的数据。更好的做法是只获取所需的属性(除了必需的属性外):获取ADUser$serviceAccount-propertiespasswordlastset@AxelAndersen-是的,但是当我这样做的时候,我得到了一些奇怪的结果,所以我只得到了整个物体。