PowerShell 正则表达式 14 位
PowerShell regular expression 14 digits
我有一个正则表达式,我正在尝试匹配 Win32_NetworkLoginProfile
对象中的 LastLogon
属性。到目前为止,我有以下内容:
Get-WmiObject Win32_NetworkLoginProfile |
Sort -Descending LastLogon |
Select * -First 1 |
where { $_.LastLogon -match "(\d{14})" }
但是,这似乎与对象中属性的 14 位输出不匹配。我认为这可能是我正在使用的正则表达式的错误,但我无法解决这个问题。
如果您只需要一个属性,您需要 select 那个属性(或者如果您只需要值,则展开它),否则 PowerShell 将显示对象的默认显示 属性 集.要提取小数点前的日期和时间部分,只需删除小数点及其后的所有内容。
Get-WmiObject Win32_NetworkLoginProfile |
Sort -Descending LastLogon |
Select-Object -Expand LastLogon -First 1 |
ForEach-Object { $_ -replace '\..*' }
我有一个正则表达式,我正在尝试匹配 Win32_NetworkLoginProfile
对象中的 LastLogon
属性。到目前为止,我有以下内容:
Get-WmiObject Win32_NetworkLoginProfile |
Sort -Descending LastLogon |
Select * -First 1 |
where { $_.LastLogon -match "(\d{14})" }
但是,这似乎与对象中属性的 14 位输出不匹配。我认为这可能是我正在使用的正则表达式的错误,但我无法解决这个问题。
如果您只需要一个属性,您需要 select 那个属性(或者如果您只需要值,则展开它),否则 PowerShell 将显示对象的默认显示 属性 集.要提取小数点前的日期和时间部分,只需删除小数点及其后的所有内容。
Get-WmiObject Win32_NetworkLoginProfile |
Sort -Descending LastLogon |
Select-Object -Expand LastLogon -First 1 |
ForEach-Object { $_ -replace '\..*' }