Registry Wert wird korrekt gesetzt, jedoch wird dieser vom Programm nicht beachtet(Outlook SMTP Passwort via Registry setzen)
Hallo zusammen
Wir haben mehrer POP3 Accounts. Über diese verschicken wir Emails. Leider hat unser Provider immer mal wieder Probleme mit dem Mailversand. Deshalb habe ich ein Powershell Skript geschrieben, welches bei den Mail Accounts einen alternativen SMTP Server eintragen soll.
Dieses Skript funktioniert auf meinem PC einwandfrei, aber auf zwei anderen PCs habe ich das Problem, dass in der Registry der Wert "SMTP Password" gesetzt wird, jedoch von Outlook nicht beachtet wird. Das heisst, wenn ich unter Systemsteuerung -> Mail -> E-Mail Accunts... -> mailaccount1 -> More Settings -> Outgoing Server nachschaue, ist das Passwort leer, also nicht gesetzt. Wenn ich dann in der Registry den Wert "SMTP Password" manuell lösche und das Passwort von Hand setze, wird in der Registry derselbe Schlüssel erstellt, welcher auch von meinem Skript erstellt wird.
Auf den beiden Fehlerhaften PCs läuft das Skript ohne Fehlermeldung und der Registry Key für "SMTP Password" wird korrekt erstellt. Outlook beachtet diesen einfach nicht.
Alle PCs haben Win 7 Prof und Office 2010 installiert. Kann mir jemand sagen, weshalb auf meinem PC das setzen des SMTP Passwort funktioniert und auf den anderen beiden nicht?
Danke und Grüsse
jompsi
Wir haben mehrer POP3 Accounts. Über diese verschicken wir Emails. Leider hat unser Provider immer mal wieder Probleme mit dem Mailversand. Deshalb habe ich ein Powershell Skript geschrieben, welches bei den Mail Accounts einen alternativen SMTP Server eintragen soll.
# Funktion welche prüft, ob ein Registry Eintrag existiert
function Test-RegistryValue
{
param
(
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$Path,
[parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]$Value
)
try
{
Get-ItemProperty -Path $Path | Select-Object -ExpandProperty $Value -ErrorAction Stop | Out-Null
return $true
}
catch
{
return $false
}
}
# Funktion zum ändern der Registry
function Change-Registry
{
# SMTP Server ändern
Set-ItemProperty . "SMTP Server" -Value ([byte[]](0x7,..............))
# Benutzer und Passwort setzen
New-ItemProperty . "SMTP User" -PropertyType Binary -Value ([byte[]](0x6,.....................))
New-ItemProperty . "SMTP Auth Method" -PropertyType DWord -Value "1"
New-ItemProperty . "SMTP Password" -PropertyType Binary -Value ([byte[]](0x02,.......................))
}
# Variabeln
$registry = "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
$mailaccount1 = "10 ..............................."
$mailaccount2 = "10 ..............................."
$mailaccount3 = "11 ..............................."
# Registry Pfad öffnen
Set-Location $registry
# Alle Mailprofile durchgehen
ForEach ( $profile in Get-ChildItem . -Name ) {
$profileloop = "$registry\$profile\9375CFF0413111d3B88A00104B2A6676"
echo $profileloop
Set-Location $profileloop
# Jede Mail Account Konfig durchgenen
ForEach ( $key in Get-ChildItem . -Name ) {
$registryloop = "$profileloop\$key"
Set-Location $registryloop
# Funktion zum prüfen ob der Registry Wert existiert, aufrufen
$exists = Test-RegistryValue . "Email"
# Wenn der Registry Key Email existiert
if ( $exists -eq "true" )
{
$email = Get-ItemProperty . "Email"
$email2 = $email."Email"
# Ist die Notfall Konfiguration aktiv? Wenn der Wert "SMTP Auth Method" existiert, ist die Notfall Konfiguration aktiv
$notfallconf = Test-RegistryValue . "SMTP Auth Method"
# echo "notfallconf: $notfallconf"
if ("$notfallconf" -eq "false")
{
# Ist der ausgelesene Wert mailaccount1
if ("$email2" -eq $mailaccount1)
{
Change-Registry
}
# Ist der ausgelesene Wert mailaccount2
if ("$email2" -eq $mailaccount2)
{
Change-Registry
}
# Ist der ausgelesene Wert mailaccount3
if ("$email2" -eq $mailaccount3)
{
Change-Registry
}
}
}
}
}
Dieses Skript funktioniert auf meinem PC einwandfrei, aber auf zwei anderen PCs habe ich das Problem, dass in der Registry der Wert "SMTP Password" gesetzt wird, jedoch von Outlook nicht beachtet wird. Das heisst, wenn ich unter Systemsteuerung -> Mail -> E-Mail Accunts... -> mailaccount1 -> More Settings -> Outgoing Server nachschaue, ist das Passwort leer, also nicht gesetzt. Wenn ich dann in der Registry den Wert "SMTP Password" manuell lösche und das Passwort von Hand setze, wird in der Registry derselbe Schlüssel erstellt, welcher auch von meinem Skript erstellt wird.
Auf den beiden Fehlerhaften PCs läuft das Skript ohne Fehlermeldung und der Registry Key für "SMTP Password" wird korrekt erstellt. Outlook beachtet diesen einfach nicht.
Alle PCs haben Win 7 Prof und Office 2010 installiert. Kann mir jemand sagen, weshalb auf meinem PC das setzen des SMTP Passwort funktioniert und auf den anderen beiden nicht?
Danke und Grüsse
jompsi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 277547
Url: https://administrator.de/contentid/277547
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
frag mich jetzt nicht wo.
Soweit ich weiß kann man Kennwörter für z.B. Mail-Account und VPN nicht direkt setzten.
Das Kennwort ist da, aber es fehlt der Hinweis, dass es korrekt eingegeben wurde.
Also genau das was Du beschreibst.
Vieleicht kann man das über MAPI setzen?
Wie wäre es sonst mit einem kleinen eigenen Mailserver?
HMailServer ist einfach und kostenfrei.
Dann musst Du nur zentral die Zugangsdaten dort ändern.
Btw.
Ist das nicht frickeln an der falschen Stelle.
Wenn der Provider nicht zuverlässig arbeitet wechselt man den und fertig.
Viele Grüße
Stefan
frag mich jetzt nicht wo.
Soweit ich weiß kann man Kennwörter für z.B. Mail-Account und VPN nicht direkt setzten.
Das Kennwort ist da, aber es fehlt der Hinweis, dass es korrekt eingegeben wurde.
Also genau das was Du beschreibst.
Vieleicht kann man das über MAPI setzen?
Wie wäre es sonst mit einem kleinen eigenen Mailserver?
HMailServer ist einfach und kostenfrei.
Dann musst Du nur zentral die Zugangsdaten dort ändern.
Btw.
Ist das nicht frickeln an der falschen Stelle.
Wenn der Provider nicht zuverlässig arbeitet wechselt man den und fertig.
Viele Grüße
Stefan
Hi,
bin mir recht sicher das man die Passwörter nicht mehr so setzen kann.
Weiterhin denke ich (je nach Benutzeranzahl), das ihr mit einem neuen Provider evtl. auch nicht besser fährt.
Aber warum willst du Passwort und alles neu setzen - reicht es nicht nur den Server zu ändern? Auth. sollte ja gleich sein, denk ich.
Warum es bei dir geht? Mal die Keys alle gelöscht und dann nochmal versucht? Welche Outlookversion wird jeweils eingesetzt?
greetz
ravers
bin mir recht sicher das man die Passwörter nicht mehr so setzen kann.
Weiterhin denke ich (je nach Benutzeranzahl), das ihr mit einem neuen Provider evtl. auch nicht besser fährt.
Aber warum willst du Passwort und alles neu setzen - reicht es nicht nur den Server zu ändern? Auth. sollte ja gleich sein, denk ich.
Warum es bei dir geht? Mal die Keys alle gelöscht und dann nochmal versucht? Welche Outlookversion wird jeweils eingesetzt?
greetz
ravers
Moin jompsi,
Der Key der gespeichert wird auf jedem Rechner individuell verschlüsselt, also auf zwei Systemen ist der Binary-Wert nie exakt gleich
Gruß Grexit
aber warum geht es ausgerechnet auf meinem Computer
das kann ich dir sagen:Der Key der gespeichert wird auf jedem Rechner individuell verschlüsselt, also auf zwei Systemen ist der Binary-Wert nie exakt gleich
Gruß Grexit