active-directory – Windows bginfo显示A.D到期日期?

无论如何在bginfo中显示A.D.用户密码需要更改之前的#天数?

例如,您必须在10天内更改密码.
A.D密码每2个月或60天重置一次.

BGInfo支持以下定义自定义变量:

首先想到的是首先为用户定义登录脚本.找到过期日期然后将其写入本地计算机上的文件的东西:

$Searcher = New-Object System.DirectoryServices.DirectorySearcher
$Searcher.Filter = "(sAMAccountName=$($Env:USERNAME))"
$Searcher.SearchRoot = "LDAP://$Env:USERDNSDOMAIN"
$Searcher.SearchScope = 'Subtree'
$ADAccount = $Searcher.FindAll()
$PwdLastSet = [DateTime]::FromFileTime($ADAccount.Properties.pwdlastset[0])
$PwdAge = (New-TimeSpan $PwdLastSet (Get-Date)).TotalDays
$NextPwdChange = 60 - $PwdAge
[Math]::Round($NextPwdChange,0) | Out-File (Join-Path $Env:USERPROFILE 'pwdage.txt')

这将计算用户密码的最后一次更改,计算它的年龄,并将差异从60天写入用户配置文件文件夹中的文本文件.因此,如果我在30天前更改了密码,它会在文本文件中写入“30”,因为我有30天时间才能更改密码.

然后你可以让BGInfo使用该文本文件内容.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...