如何过滤上次设置密码的值 1/1/1601 1:00:00 AM?
How to filter value 1/1/1601 1:00:00 AM of password last set?
我想使用 "paswordLastSet" 属性打印出上次设置的密码值。实施如下过滤器后:
$passwordLS = $user.Properties.Item("pwdLastSet")[0]
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
}
我得到了一个输出:
No password last set
2/26/2003 12:21
11/27/2003 11:30
11/27/2003 11:30
1/1/1601 1:00:00 AM
.................
如上所示,有一个值“1/1/1601 1:00:00 AM”,表示用户从未设置过密码。但是,我不想将此值作为我的数据。我很想用 "No password last set" 过滤掉它,而不是给我“1/1/1601 1:00:00 AM”作为输出。
我已经调查了这个问题以找到一个可以帮助我以某种方式过滤“1/1/1601 1:00:00 AM”的元素,即使我试图以 100 纳秒打印所有值以获得相互为此的价值。不幸的是,它们各不相同。
我也试过给个说法:
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
if($value -eq "1/1/1601 1:00:00 AM"){
$value = "No password last set"
}
else{
$value = $value
}
}
但我认为这不是一个像样的代码。还有更好的体验吗?
这不起作用的原因是因为您正在将 datetime
对象 $value
与字符串 "1/1/1601 1:00:00 AM"
进行比较
您有很多选择 - 例如:
- 将
$value
与 [datetime]
对象进行比较 - 例如 $("1/1/1601 01:00:00" | Get-Date)
- 按年份排除,不用担心日期信息的重置。
Else
设置 $value = $value
是多余的。
代码:
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
if($value.Year -eq 1601){ # this one
if($value -eq $("1/1/1601 01:00:00" | Get-Date)){ # or this one
$value = "No password last set"
}
}
我想使用 "paswordLastSet" 属性打印出上次设置的密码值。实施如下过滤器后:
$passwordLS = $user.Properties.Item("pwdLastSet")[0]
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
}
我得到了一个输出:
No password last set
2/26/2003 12:21
11/27/2003 11:30
11/27/2003 11:30
1/1/1601 1:00:00 AM
.................
如上所示,有一个值“1/1/1601 1:00:00 AM”,表示用户从未设置过密码。但是,我不想将此值作为我的数据。我很想用 "No password last set" 过滤掉它,而不是给我“1/1/1601 1:00:00 AM”作为输出。
我已经调查了这个问题以找到一个可以帮助我以某种方式过滤“1/1/1601 1:00:00 AM”的元素,即使我试图以 100 纳秒打印所有值以获得相互为此的价值。不幸的是,它们各不相同。
我也试过给个说法:
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
if($value -eq "1/1/1601 1:00:00 AM"){
$value = "No password last set"
}
else{
$value = $value
}
}
但我认为这不是一个像样的代码。还有更好的体验吗?
这不起作用的原因是因为您正在将 datetime
对象 $value
与字符串 "1/1/1601 1:00:00 AM"
您有很多选择 - 例如:
- 将
$value
与[datetime]
对象进行比较 - 例如$("1/1/1601 01:00:00" | Get-Date)
- 按年份排除,不用担心日期信息的重置。
Else
设置 $value = $value
是多余的。
代码:
if($passwordLS -eq 0)
{
$value = "No password last set"
}
else
{
$value = [DateTime]::FromFileTime($passwordLS)
if($value.Year -eq 1601){ # this one
if($value -eq $("1/1/1601 01:00:00" | Get-Date)){ # or this one
$value = "No password last set"
}
}