【发布时间】:2019-08-29 14:43:35
【问题描述】:
使用 PowerShell,我得到了 Active Directory 中所有操作系统的计数。我有所有 Windows 10 操作系统的计数,现在我需要计算密码超过 90 天或更早的计算机。
我已经使用“Get-Date”尝试了命令之外的脚本,但是如果可能的话,我需要将它合并到一个命令中。
Get-ADComputer -SearchBase "OU=Computers,DC=DomainName,DC=com" -Filter {OperatingSystem -Like "Windows 10*"} -Property , OperatingSystem, pwdLastSet, |
select OperatingSystem, @{Name="pwdLastSet";Expression={([DateTime]::FromFileTime($_.pwdLastSet))}}
计数:# 操作系统
“超过 90 天”:?
【问题讨论】:
-
我有点不确定你想要什么。您目前遇到哪些具体问题/错误?你的意思是你想要一个单独的函数来执行操作?
-
如果可能,我想避免使用单独的函数。我的问题是我是 PowerShell 新手,不知道如何为此寻找解决方案。有没有办法创建一个新列,其中包含从密码上次设置到今天日期的天数。我可以使用公式“=DATEDIF(start_date,end_date,"d")”在 excel 中执行此操作,但我正在尝试自动化此过程。
-
@zatch - 你的问题的一部分是“哦,所以利特!”编码。 [sigh ...] 不要仅仅因为“它是如此leet!!!!!”而将所有内容都强加为单行。将您的管道分解为标准循环中的步骤。然后根据需要添加所需的额外列,最后将它们输出到 CSV 文件或使用
ImportExcel模块将它们直接发送到 excel。 ///// 如果您需要在管道中添加一些东西[通常是为了节省 RAM]。然后,您可以轻松地将易于调试的代码转换为管道。 [咧嘴] -
使用 (get-date) 和 .AddDays() 方法为您的搜索添加过滤器
标签: powershell active-directory