从列表Powershell获取与今天最近的下一个日期的行

阿尼卡斯

对不起,可能是一个简单的问题,但老实说,我无法形成正确的解决方案。

脚本会生成一个列表,其中包含带有时间和AD组名称的信息,格式如下:

+----------------+---------------------+
|  ADGroupName   |       StartTime     |
+----------------+---------------------+
| AD-group-name1 |  15.7.2020 00:00:00 |
| AD-group-name2 |  18.7.2020 00:00:00 |
| AD-group-name3 |  21.7.2020 00:00:00 |
| AD-group-name4 |  22.7.2020 00:00:00 |
| AD-group-name5 |  23.7.2020 00:00:00 |
| AD-group-name6 |  24.7.2020 00:00:00 |
| AD-group-name7 |  25.7.2020 00:00:00 |
| AD-group-name8 |  26.7.2020 00:00:00 |
| AD-group-name9 |  30.7.2020 00:00:00 |
+----------------+---------------------+

接下来的问题是:如何显示列表中的一行,其中仅包括下一个与当前日期最接近的日期?

谢谢!

更新:原始代码如下所示

cd 'E:\Program Files\Microsoft Configuration Manager\AdminConsole\bin'
Import-Module .\ConfigurationManager.psd1
cd T:\
$CollectionIDs = "id1" , "id2"
$date=[datetime]::Today.ToString('MM')
$month= $date.substring(1) 
$Outfile = "C:\temp\outfile.txt"
if (Test-Path $Outfile) {Clear-Content $Outfile}
foreach ($id in $CollectionIDs) { 
if ($id -eq "id1") { 
Get-CMMaintenanceWindow -CollectionId "$id" | Select-Object @{Name='ADGroupName';Expression={'\AD-group-name1'}}, StartTime | Sort-Object StartTime -Descending | ft -AutoSize | out-string | Add-Content $Outfile
}
elseif ($id -eq "id2") {
Get-CMMaintenanceWindow -CollectionId "$id" | Select-Object @{Name='ADGroupName';Expression={'\AD-group-name2'}}, StartTime | Sort-Object StartTime -Descending | ft -AutoSize | out-string | Add-Content $Outfile
}
}
$result = Select-String -Path $Outfile -Pattern ".$month." -SimpleMatch
Remove-Item $Outfile
$result -creplace '(?s)^.*\\', '
亚当

就像Mathas在评论中说的那样,现在StarTime是字符串还是日期时间仍然很明显。因此,我以StartTime作为字符串创建了对象数组,并添加了解析功能。

    $data=@(
        @{ADGroupName='AD-group-name1';StartTime='15.7.2020 00:00:00'},@{ADGroupName='AD-group-name2';StartTime='18.7.2020 00:00:00'},@{ADGroupName='AD-group-name3';StartTime='21.7.2020 00:00:00'},@{ADGroupName='AD-group-name4';StartTime='22.7.2020 00:00:00'},@{ADGroupName='AD-group-name5';StartTime='23.7.2020 00:00:00'},@{ADGroupName='AD-group-name6';StartTime='24.7.2020 00:00:00'},@{ADGroupName='AD-group-name7';StartTime='25.7.2020 00:00:00'},@{ADGroupName='AD-group-name8';StartTime='26.7.2020 00:00:00'},@{ADGroupName='AD-group-name9';StartTime='30.7.2020 00:00:00'}
    ) | foreach{[pscustomobject]$_}
    
    # fixed date just to create working example
    $today =  get-date -Year 2020 -Month 7 -Day 24

    # parse datetime strings, filter by today, sort, select first result
    $data | 
      select adgroupname,@{n='StartTimeParsed';e={[datetime]::ParseExact($_.StartTime,'dd.M.yyyy HH:mm:ss',[System.Globalization.CultureInfo]::InvariantCulture)}} | 
      where StartTimeParsed -gt $today | sort StartTimeParsed | select -First 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从C#中距离今天更近的列表中获取下一个日期

来自分类Dev

SQL查询以获取最近的上一个和下一个日期?

来自分类Dev

Excel 条件格式 - 用今天的下一个日期突出显示行

来自分类Dev

JavaScript获取下一个星期二或星期五的日期(最近)

来自分类Dev

Access/SQL:如何在 Access 查询中获取下一个最近的日期?

来自分类Dev

查找下一个最近的日期

来自分类Dev

Oracle SQL 返回最近和下一个最近的价格和日期

来自分类Dev

Impala查询以获取下一个日期

来自分类Dev

仅当匹配今天的日期时,才获取按自定义前题排序的数组中的下一个/上一个项目

来自分类Dev

Excel查找下一个打开的单元格并输入今天的日期

来自分类Dev

如何获取列表的下一个树元素

来自分类Dev

PHP->下一个最近的日期,该日期由星期几定义

来自分类Dev

以MM / DD / YYY格式查找下一个最近的日期JavaScript

来自分类Dev

从php中的数组中找到最近的下一个日期

来自分类Dev

调整下一个日期

来自分类Dev

比较日期与列表并返回列表中的下一个日期

来自分类Dev

在Elasticsearch中按日期获取上一个和下一个文档

来自分类Dev

PHP->下一个最近的日期,该日期由一周中的天数数组定义

来自分类Dev

获取列表中给定项目的上一个/下一个项目

来自分类Dev

最近/下一个div选择jQuery

来自分类Dev

查找最近/下一个div

来自分类Dev

最近/下一个div选择jquery

来自分类Dev

SQL下一个最近的记录

来自分类Dev

给定特定日期,请使用Python在列表中查找下一个日期

来自分类Dev

如何将工作日和时间对象解析为今天的下一个逻辑日期?

来自分类Dev

PHP:根据固定基准日期获取下一个日期

来自分类Dev

Moment JS获取指定日期的下一个日期

来自分类Dev

仅获取多个日期中的下一个日期

来自分类Dev

如何从Bootstrap Datepicker中的选定日期获取下一个日期

Related 相关文章

  1. 1

    从C#中距离今天更近的列表中获取下一个日期

  2. 2

    SQL查询以获取最近的上一个和下一个日期?

  3. 3

    Excel 条件格式 - 用今天的下一个日期突出显示行

  4. 4

    JavaScript获取下一个星期二或星期五的日期(最近)

  5. 5

    Access/SQL:如何在 Access 查询中获取下一个最近的日期?

  6. 6

    查找下一个最近的日期

  7. 7

    Oracle SQL 返回最近和下一个最近的价格和日期

  8. 8

    Impala查询以获取下一个日期

  9. 9

    仅当匹配今天的日期时,才获取按自定义前题排序的数组中的下一个/上一个项目

  10. 10

    Excel查找下一个打开的单元格并输入今天的日期

  11. 11

    如何获取列表的下一个树元素

  12. 12

    PHP->下一个最近的日期,该日期由星期几定义

  13. 13

    以MM / DD / YYY格式查找下一个最近的日期JavaScript

  14. 14

    从php中的数组中找到最近的下一个日期

  15. 15

    调整下一个日期

  16. 16

    比较日期与列表并返回列表中的下一个日期

  17. 17

    在Elasticsearch中按日期获取上一个和下一个文档

  18. 18

    PHP->下一个最近的日期,该日期由一周中的天数数组定义

  19. 19

    获取列表中给定项目的上一个/下一个项目

  20. 20

    最近/下一个div选择jQuery

  21. 21

    查找最近/下一个div

  22. 22

    最近/下一个div选择jquery

  23. 23

    SQL下一个最近的记录

  24. 24

    给定特定日期,请使用Python在列表中查找下一个日期

  25. 25

    如何将工作日和时间对象解析为今天的下一个逻辑日期?

  26. 26

    PHP:根据固定基准日期获取下一个日期

  27. 27

    Moment JS获取指定日期的下一个日期

  28. 28

    仅获取多个日期中的下一个日期

  29. 29

    如何从Bootstrap Datepicker中的选定日期获取下一个日期

热门标签

归档