Powershell:Select-字符串和正则表达式

Powershell: Select-String & Regular Expression

关于我为什么首先使用正则表达式的一些背景故事:

我正在为多个客户编写一个脚本,该脚本将集成到我们每两周一次的维护中。脚本设置为将计划任务的日期更改为脚本所在的日期运行,但不调整时间。

现在这本身很容易,但是我们有多个客户端,任务会在多个不同的时间执行 运行,我不想为每个客户端手动更新每个脚本,因为如果我们一旦更新脚本,我们将不得不为每个人手动更新它。

所以我求助于 Select-String 和 Regex 来解决问题。

关于问题:

我正在运行宁以下代码

$test = Get-ScheduledTaskInfo -TaskName "Scheduled Shutdown"
$test | Select-String -inputobject {$_.LastRunTime} -Pattern '..:..:..'

输出如下

10/01/2019 18:30:00

但是我只想要实际的时间字符串,而不是日期。 无论我把模式改成什么,我都无法让它专门输出到时间。

我正在使用一个名为 RegExr 的网站来测试脚本以及 运行ning 脚本。

$test = Get-ScheduledTaskInfo -TaskName "Scheduled Shutdown"
(($test | Select-String -inputobject {$_.LastRunTime} -Pattern '..:..:..') -split ' ')[-1]

将时间字符串拆分为space,然后选择时间