当前位置: 首页 > 知识库问答 >
问题:

Powershell是否有一种方法可以筛选出数组中小于6个月的项?

章城
2023-03-14

背景信息

我已经编写了一个脚本,它使用一个API为我获取一个应用程序的所有用户,我编写这个应用程序是为了特别获取他们的电子邮件地址和他们上次登录的时间。脚本将结果存储在数组中,然后将该数组写入CSV文件。然后,我还使用另一个APIendpoint编写了一个单独的脚本,该脚本根据我从CSV传递给它的电子邮件地址停用这个应用程序中的用户。

目前,我正在停用那些6个月或更长时间没有登录的用户,并使用Google Sheets/Excel来操作初始数据输出,以筛选结果,仅给那些上次登录日期在6个月或更长时间之前的用户,将其作为单独的CSV导出,然后导入到停用脚本中。

问题来了!

在powershell中是否有一种方法可以完全完成数据操作,这样我就可以将这些脚本链接成一个,或者可以完成这些操作而不必在powershell外部手动操作数据?

使事情稍微更具挑战性(对我来说,作为一个有中等经验的powershell用户,但离专家还差得远!)API调用输出的日期格式为:2020-01-01T15:00:00Z

共有1个答案

曾光誉
2023-03-14

我有不到50个信誉点,所以我不能直接评论,但一个解决方案是将日期输出字符串强制转换为datetime类型。该字符串看起来是Zulu日期格式,实质上是UTC(不遵守夏令时)。

[datetime]'2020-01-01T15:00:00Z'
# Results in Wednesday, January 1, 2020 10:00:00 AM.

([datetime]'2020-01-01T15:00:00Z').AddDays(-1)
# Results in Tuesday, December 31, 2019 10:00:00 AM.

@vonpryz提到的是,一旦完成,您可以使用AddDays方法,以负整数的形式添加所经过的天数。

 类似资料: