Powershell脚本协助

时间:2019-01-28 17:09:29

标签: powershell scripting

我有一个脚本,该脚本将查询域控制器以获取有效的密码到期日期。我遇到一个问题,我无法直接访问域控制器来运行相同的查询,因为我只能通过VPN和Jumpbox来访问此域。

我想做的只是创建一个可以访问文本文件的简单脚本。在此文件中,我只希望有一个数字来表示自上次重置密码以来的天数。这个数字每天都会减少。一旦文件中的数字低于某个点,我可能会发送一封电子邮件。我只是不确定如何才能完成保存文件并每天减少文件内数量的过程。当然,一旦达到零,我也需要将其重置。

在此方面提供的任何帮助将不胜感激。 先感谢您。 史蒂夫

1 个答案:

答案 0 :(得分:0)

文本文件会将值另存为字符串。因此,您必须先将其类型转换为整数,然后才能进行操作。

$File = "C:\temp\ADpasspolicy.txt"
[int]$PassPolicyVal = Get-Content -Path $File

#check for threshold value
if (!($PassPolicyVal -gt 10))
{
    #send mail
    Send-MailMessage -Subject "Password expired" -To "jane.doe@gmail.com" -From "John@gmail.com" -SmtpServer "smtpserveraddress" -Body "add body here"
}

if ($PassPolicyVal -le 0)
{
    $PassPolicyVal = 90
}
else
{
    #Decrement by 1 if greater than 0
    $PassPolicyVal--
}

$PassPolicyVal | Out-File -FilePath $File