Powershell MailInfo Script über Locked Accounts
Hallo zusammen,
ich habe mir ein Script in Powershell erstellt, das mit per Mail eine info zu allen Gesperrten Accounts liefert.
Ich kann es zumeist 1x ausführen und dann bekomme ich bei der zweiten Runde die Info zurück, dass im Body etwas drin stehen muss!
Ich habe mittlwerweile herausgefunden, dass eine meiner definierten Variablen manchmal meine übergebenen Infos übernimmt und manchmal nicht.
Vielleicht hat einer eine Idee woran das liegen kann ?
Hier mein kleines Script:
import-module activedirectory
$result = Search-ADAccount -LockedOut | Select Name, LastLogonDate | out-string
return $result
}
$strFrom = "LockedOutInformation@*.de"
$strTo = "mein-Name@domain.de"
$strSubject = "* Info about Locked Accounts last 30 Min. ***"
$strSMTPServer = "SMTP Server"
send-mailmessage -to $strTo -from $strFrom -subject $strSubject -body $result -BodyAsHtml -smtpserver $strSMTPServer -encoding ([System.Text.Encoding]::UTF8)
Das return $result habe ich nur zur Kontrolle eingebaut um den Fehler zu sehen !
Danke schon mal für Eure Hilfe!
Gruß
ich habe mir ein Script in Powershell erstellt, das mit per Mail eine info zu allen Gesperrten Accounts liefert.
Ich kann es zumeist 1x ausführen und dann bekomme ich bei der zweiten Runde die Info zurück, dass im Body etwas drin stehen muss!
Ich habe mittlwerweile herausgefunden, dass eine meiner definierten Variablen manchmal meine übergebenen Infos übernimmt und manchmal nicht.
Vielleicht hat einer eine Idee woran das liegen kann ?
Hier mein kleines Script:
- ======================
- Collecting Info
- ======================
import-module activedirectory
$result = Search-ADAccount -LockedOut | Select Name, LastLogonDate | out-string
return $result
}
- ======================
- Sending Email Section
- ======================
$strFrom = "LockedOutInformation@*.de"
$strTo = "mein-Name@domain.de"
$strSubject = "* Info about Locked Accounts last 30 Min. ***"
$strSMTPServer = "SMTP Server"
send-mailmessage -to $strTo -from $strFrom -subject $strSubject -body $result -BodyAsHtml -smtpserver $strSMTPServer -encoding ([System.Text.Encoding]::UTF8)
Das return $result habe ich nur zur Kontrolle eingebaut um den Fehler zu sehen !
Danke schon mal für Eure Hilfe!
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 339963
Url: https://administrator.de/forum/powershell-mailinfo-script-ueber-locked-accounts-339963.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
5 Kommentare
Neuester Kommentar
Ich kann es zumeist 1x ausführen und dann bekomme ich bei der zweiten Runde die Info zurück, dass im Body etwas drin stehen muss!
Logisch wenn man nicht prüft ob die Variable $result
überhaupt Inhalt hat!import-module activedirectory
$strFrom = "LockedOutInformation@*.de"
$strTo = "mein-Name@domain.de"
$strSubject = "* Info about Locked Accounts last 30 Min. ***"
$strSMTPServer = "SMTP Server"
$result = Search-ADAccount -LockedOut | Select Name, LastLogonDate | ConvertTo-HTML -Fragment
if ($result){
send-mailmessage -to $strTo -from $strFrom -subject $strSubject -body $result -BodyAsHtml -smtpserver $strSMTPServer -encoding UTF8
}else{
write-host "No locked-out accounts." -F yellow
}
return
bedeutet beende Skript/Skriptblock. Die Rückgabe speicherst du nirgendwo, also ist da auch nichts drin weil du die Variable in einem Sub-Skriptblock definiert wurde und deswegen außerhalb nicht mehr sichtbar ist.Les mal about_scopes