无论如何在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使用该文本文件的内容.