$exceptionList = Get-Content C:\Users\Dipen\Desktop\Exception_List.txt
$ReceiveLocations = Get-WmiObject MSBTS_ReceiveLocation -Namespace 'root\MicrosoftBizTalkServer' -Filter '(IsDisabled = True)' |
Where-Object { $exceptionList -notcontains $_.Name }
# Exit the script if there are no disabled receive locations
if ($ReceiveLocations.Count -eq 0)
{
exit
}
Beispiel:Erhalten Location Autohandling falsche E-Mail-Benachrichtigungen
und
$mailBodyPT = ""
$mailTextReportPT = "There are: "
[STRING]$Subject = $SubjectPrefix + $BizTalkGroup
$mailTextReportPT += "in the BizTalk group: " + $BizTalkGroup + "."
#Send mail
foreach ($to in $EmailTo)
{
$Body = $HTMLmessage
#$SMTPClient = New-Object Net.Mail.SmtpClient($PSEmailServer)
$message = New-Object Net.Mail.MailMessage($from, $to, $Subject, $Body)
$message.IsBodyHtml = $true;
$SMTPClient.Send($message)
}
Frage: wenn alle RLs haben den Status "gesperrt" und alle Diese RLs sind in der Ausnahmeliste der Wert von t enthalten Die Variable $ReceiveLocations
sollte falsch sein und ich muss die weitere Verarbeitung in meinem Skript stoppen. (nichts tun, wenn alle RLs in der Ausnahmeliste gefunden werden, einfach beenden)
Aber ich bekomme immer noch falsche E-Mail-Benachrichtigungen. Wie können wir Logik einstellen, um keine E-Mail-Benachrichtigungen zu erhalten, wenn keine zusätzlichen RLs in $ReceiveLocations
gefunden wurden?
Thanks you !!!!!! !!! –
++, aber es ist erwähnenswert, dass die einheitliche Behandlung von Skalaren und Sammlungen in PSv3 eingeführt (Methinks) _does_ ermöglicht die Verwendung von ".Count" auf einen nullwertigen Ausdruck und gibt sinnvollerweise 0: $ null.Count -eq 0 'gibt' $ true' in PSv3 + zurück, während es '$ false' in PSv2- zurückgibt. – mklement0
Ich dachte es nicht, aber ich habe es gerade verifiziert und du hast Recht. Ich würde es wahrscheinlich immer noch vorziehen, mich nicht darauf zu verlassen, wenn auch nur aus Gründen der Kompatibilität. –