首页 > 解决方案 > Powershell 脚本协助

问题描述

我有一个脚本,它将查询域控制器以获取密码的到期日期,效果很好。我有一个问题,我无法直接访问域控制器来运行相同的查询,因为我可以访问该域的唯一方法是通过 VPN 和 Jumpbox。

我想做的只是创建一个可以访问文本文件的简单脚本。在这个文件中,我只想有一个数字来表示自上次密码重置以来的天数。这个数字每天都会减少。一旦文件中的数字低于某个点,我就可以发送一封电子邮件。我只是不确定如何执行获取文件并减少文件中每天数量的过程。当然,一旦它达到零,我还需要重置它。

对此的任何帮助将不胜感激。先感谢您。史蒂夫

标签: powershellscripting

解决方案


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

$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

推荐阅读