gpt4 book ai didi

windows - 列出非域系统上所有用户的最后一次 Windows 密码更改

转载 作者:可可西里 更新时间:2023-11-01 11:45:30 26 4
gpt4 key购买 nike

我已经为连接到 AD 域 Controller 的系统找到了这个问题的答案。但是,此问题适用于无法连接到域 Controller 的独立系统。本质上,气隙系统。

简短而贴心:有没有一种方法可以以批处理文件或 PowerShell 脚本的形式列出每个用户最后一次为非域、气隙系统(Windows 7 或 10)更改其 Windows 密码的时间?

我知道网络用户 {username} | find/I "Password last set"会一次为他们做一个。然而,每台机器运行多次会很乏味,我们有 60 多个这种类型的系统。因此,如果可能的话,我正在寻找一种一次性完成此操作的方法。

需要注意的是,我们没有为此在 PowerShell 中安装 activedirectory 模块的选项。此外,由于大多数系统都是 Windows 7,我们无法访问 Windows 10 中可用的 Bash 命令行工具。

感谢与此相关的任何和所有帮助。

最佳答案

这是使用 ADSI WinNT 提供程序的一种方法:

$computerName = [Net.Dns]::GetHostName()  # i.e., local computer
$computer = [ADSI] "WinNT://$computerName,Computer"
$childObjects = $computer.Children
foreach ( $childObject in $childObjects ) {
if ( $childObject.Class -eq "User" ) {
if ( $childObject.PasswordAge[0] -gt 0 ) {
$pwdLastSet = (Get-Date).AddSeconds(-$childObject.PasswordAge[0])
}
else {
$pwdLastSet = $null
}
$childObject | Select-Object `
@{Name="AdsPath"; Expression={$_.AdsPath}},
@{Name="PasswordLastSet"; Expression={$pwdLastSet}}
}
}

关于windows - 列出非域系统上所有用户的最后一次 Windows 密码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46571762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com