如何设置全局变量和



我每半小时运行一次这个脚本。如果值大于 99,它会发送电子邮件,但如果值仍然是 30,我不希望它每 99 分钟发送电子邮件一次。

我只希望它发送电子邮件一次。 如果该值返回小于 99,然后再次大于 99,则仅发送电子邮件一次。

这是脚本

$main = 100

IF ($main -gt 99) {
 Write-Host $main
 ##Send Email
}
else 
{
 Write-Host "Not Greater than 99." 
}

我试过了,它不起作用
我尝试使用全局变量并设置等于任何内容,如果$var1 -eq "NOTSENT" -and $main -gt 99它将发送电子邮件并设置$var1 = "SENT".我在这里需要帮助。

$main = 100
$var1 
IF (($main -gt 99) -and ($var1 -eq "NOTSENT")) {
 Write-Host $main
 ##Send Email
 $var1 = "SENT"
}
else 
{
 Write-Host "Not Greater than 99." 
 $var1 = "NOTSENT"
}
">

全局"仅表示它对于创建它的 PS 会话是全局的。 会话结束时,变量将消失。 如果需要将该值从一个会话保存到另一个会话,则需要将其写出到磁盘,然后在下次脚本运行时读回该值。

mjolinor关于它不起作用的原因是正确的;我不会重申这一点。

但是,您可以设置用户级别或计算机级别的环境变量,而不是写入磁盘:

[Environment]::SetEnvironmentVariable('Variable', 'Value' , 'User')
[Environment]::SetEnvironmentVariable('Variable', 'Value' , 'Machine') # requires elevation

见 http://technet.microsoft.com/en-us/library/ff730964.aspx

相关内容

  • 没有找到相关文章

最新更新