以下是一个 PowerShell 脚本示例,用于检查本地账号是否设置成永不过期,并将结果导出到文本文件:
$accounts = Get-LocalUser | Where-Object {$_.Enabled -eq $True} # 获取所有启用的本地账户
$results = @() # 创建一个空数组以存储结果
foreach ($account in $accounts) {
$expireDate = $account.PasswordExpires # 获取账户的密码到期日期
if ($expireDate -eq $null) {
$result = [PSCustomObject]@{
UserName = $account.Name
PasswordNeverExpires = $true
}
} else {
$result = [PSCustomObject]@{
UserName = $account.Name
PasswordNeverExpires = $false
}
}
$results += $result # 将结果添加到结果数组中
}
$results | Export-Csv -Path C:\temp\password_expiration.csv -NoTypeInformation # 导出结果到 CSV 格式的文本文件
使用该脚本需要先在 PowerShell 控制台中启用执行策略,具体步骤请自行了解。在脚本中,我们首先使用 Get-LocalUser
命令获取所有启用的本地账户,然后通过循环遍历每个账户来获取其密码到期日期。如果密码到期日期为 null
,则表示该账户设置为永不过期;否则,该账户不是永不过期。
最后,我们将结果存储到一个自定义对象数组中,并使用 Export-Csv
命令将其导出到 CSV 格式的文本文件中。如果需要导出到其他文件格式,请使用相应的命令,例如 Export-Clixml
用于导出为 XML。