powershell - Powershell 脚本协助
问题描述
我有一个脚本,它将查询域控制器以获取密码的到期日期,效果很好。我有一个问题,我无法直接访问域控制器来运行相同的查询,因为我可以访问该域的唯一方法是通过 VPN 和 Jumpbox。
我想做的只是创建一个可以访问文本文件的简单脚本。在这个文件中,我只想有一个数字来表示自上次密码重置以来的天数。这个数字每天都会减少。一旦文件中的数字低于某个点,我就可以发送一封电子邮件。我只是不确定如何执行获取文件并减少文件中每天数量的过程。当然,一旦它达到零,我还需要重置它。
对此的任何帮助将不胜感激。先感谢您。史蒂夫
解决方案
文本文件会将值保存为字符串。因此,您必须先将其类型转换为整数,然后才能进行操作。
$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
推荐阅读
- ios - 为什么 Xcode 中我的个人设备名称旁边有数字?
- artifactory - REST API 规范位置?
- python-3.x - 如何在不更改数据结构的情况下删除重复行
- java - Tomcat 9 中的编码问题“有效字符在 RFC 7230 和 RFC 3986 中定义”
- php - 如何从月份为当前月份的列中的sql日期中选择月份
- eclipse - Eclipse、Gerrit 和尾随空格
- java - 使用 org.springframework.test.util.ReflectionTestUtils 测试方法
- continuous-integration - 如何根据发现的 snyk 漏洞的严重性来控制管道故障?
- r - 在 flexdashboard 中,可以点击 valueBox 来更新像 actionButton 这样的文本框吗?
- r - 如何将自定义形状添加到 R 中的传单地图