Freitag, 4. Oktober 2013

am / Hinterlasse ein Kommentar

Mailempfang und automatisches Weiterleiten

Microsoft Exchange ermöglicht es E-Mails in einer Mailbox zu empfangen und gleichzeitig weiterzuleiten.

In unserem Szenario haben wir einen Unternehmer Markus Muster welcher Mails aus verschiedenen Organisationen auf seiner privaten E-Mail Adresse (example.com) empfangen möchte. Wir arbeiten für eine Organisation (contoso.com) und richten ihm eine solche Weiterleitung ein, ermöglichen es ihm jedoch ebenfalls diese E-Mails im Outlook Web Access von Contoso anzusehen. Die Mails sollen also in der Mailbox empfangen werden und gleichzeitig weitergeleitet werden.

Ablaufschema der Übermittlung (Grafik: Daniel Müller)


Die Einrichtung der Weiterleitung mit diesen Anforderungen ist nur über Powershell möglich, weshalb wir gleich die gesamte Konfiguration über Powershell machen.

Zunächst fragen wir das zu setzende Passwort für den Benutzer ab und erstellen anschliessend den Benutzer mit seiner Mailbox.



Anschliessend richten wir die Weiterleitung gemäss den Ansprüchen ein. Dazu verwenden wir den Befehl Set-Mailbox mit den Parametern Identity um den erstellten Benutzer zu spezifizieren, ForwardingSMTPAddress um eine externe Weiterleitungsadresse einzurichten und DeliverToMailboxAndForward um den gleichzeitigen Empfang und die Weiterleitung einzurichten. Würden wir DeliverToMailboxAndForward nicht auf $true setzen würde das Mail lediglich weitergeleitet und nicht im Posteingang der Mailbox abgelegt. Soll die Mail nur an eine interne Mailadresse weitergeleitet werden, so ist dies mit dem Parameter ForwardingAddress als Ersatz für den Parameter ForwardingSMTPAddress möglich.



Damit das automatische Weiterleiten so wie wir es eingerichtet haben auch funktioniert ist eine Einstellung in der Konfiguration des Exchange Servers nötig. Die Einstellung AutoForwardEnabled ermöglicht uns dies zu erlauben. Mit den folgenden zwei Befehlen wird zunächst die Konfiguration ausgelesen und der Wert anschliessend wie wir ihn benötigen gesetzt. Sollen auch automatische Antworten wie beispielsweise Abwesenheitsnachrichten an externe Empfänger möglich sein so kann der gleiche Befehl wie folgt eingesetzt werden Set-RemoteDomain Default -AutoReplyEnabled $true. Diese beiden Einstellungen sind standardmässig ausgeschaltet um Antworten auf Spamattacken zu verhindern bzw. Spam-Nachrichten nicht weiterzuleiten.



Das vollständige Beispielscript kann hier heruntergeladen werden.
Weiterlesen

Freitag, 7. Juni 2013

am / Hinterlasse ein Kommentar

Internet Explorer Einstellungen zurücksetzen über Powershell

Nach einem Update des Internet Explorers kann es sein das gewisse Webseiten sich nicht mehr öffnen lassen oder sonstige Phänomene auftreten. Dies ist besonders oft der Fall wenn Group Policy Einstellungen zum Internet Explorer geladen werden.

Solche Probleme können wir über die Internetoptionen → Erweitert → Zurücksetzen... beheben. Dabei werden alle Einstellungen des Internet Explorers auf die Standardwerte zurückgesetzt.

Internetoptionen (Grafik: Daniel Müller)



Diese Schritte einem normalen Benutzer zu erklären oder Ihn dazu zu bringen jeden Schritt in einer Anleitung durchzuführen ist relativ schwierig. Deshalb bietet es sich an ein Script für eine automatisierte Problemlösung bereitzustellen.

Script:
Das Script muss zunächst prüfen ob alle Browserfenster geschlossen sind um Probleme welche in diesen Fenstern noch bestehen zu verhindern. Sind noch Fenster offen zeigen wir dem Benutzer eine Aufforderung zum Schliessen der Fenster an und fahren anschliessend mit dem Zurücksetzen der Einstellungen fort.

Browserfenster-Check:
In diesem Teil wird geprüft ob noch eine Instanz des Internet Explorers geöffnet ist. Dieser Teil ist so geschrieben, dass er schnell für andere Verwendungszwecke bzw. Programme adaptiert werden kann.



Meldung an User:
Sollte der Browser geöffnet sein, so informieren wir den User das er das Fenster schliessen soll. Er hat anschliessend die Möglichkeit nach dem schliessen des Internet Explorers das Script von neuem zu starten oder Abzubrechen.



Zurücksetzen der Internet Explorer Einstellungen:
Nun zeigen wir dem Benutzer das Fenster in welchem er das Zurücksetzen bestätigen kann. Wir können dies leider nicht direkt ausführen. Deshalb wird eine Interaktion des Users verlangt, welche wir Ihm im Powershell anzeigen lassen.



Das vollständige Beispielscript kann hier heruntergeladen werden.
Weiterlesen
am / Hinterlasse ein Kommentar

Problemanalyse mit Mail

Um Probleme mit der Kommunikation mit dem Mailserver von extern festzustellen gibt es viele verschiedene Tools im Internet. Einige davon werde ich kurz vorstellen.

Mail Troubleshooting (Grafik: Remo)



MXToolbox:
Die MXToolbox ist bei Problemen mit Mailservern immer meine erste Anlaufstelle. Mit ein paar wenigen Klicks kann man die Auflösung von DNS Records prüfen und einen SMTP Check laufen lassen. Das Angebot von MXToolbox umfasst auch einen Blacklist Check und kann mittlerweile auch zum Prüfen von Web- und DNS Servern eingesetzt werden. Kurz zusammengefasst ein mächtiges Tool mit einer Vielzahl von Funktionalitäten.

Das Portfolio wird ständig erweitert und bietet auch Dienste zum Bezahlen an, darunter auch die Überwachung der Mailserverfunktionalität und regelmässige Blacklist Checks.

MailTester:
Das GUI lässt zwar anderes Vermuten doch hinter MailTester steckt ein praktisches Tool. Tippfehler passieren immer wieder, leider auch bei E-Mail Adressen. Meldet sich dann ein Benutzer welcher an eine E-Mail Adresse keine Nachrichten versenden kann, so haben wir mit diesem Tool die Möglichkeit die E-Mail Adresse zu prüfen. Leider unterstützen nicht alle Mailserver das Prüfen des Benutzers, also dem Teil vor dem @xy.com. In den meisten Fällen erhalten wir aber eine Rückmeldung ob die Adresse so existiert.

TestExchangeConnectivity:
Verbindungsprobleme mit Exchange oder auch Office 365 und Lync können mit dem Microsoft Remote Connectivity Analyzer analysiert werden. Je nach Problem stehen verschiedene Tests zur Verfügung. So kann beispielsweise das Autodiscovery von Outlook geprüft werden.
Weiterlesen

Donnerstag, 6. Juni 2013

am / Hinterlasse ein Kommentar

MBR vs GPT

Im Moment findet ein Wechsel der Partitionsstile von Harddisks unter Windows statt. Der bestehende Standard ist MBR und der zukünftige Standard wird GPT sein, welcher ein Teil des EFI-Standards ist.

Harddisk (Grafik: Alchemist-hp)



Die GPT (GUID Partition Table) bietet einige Vorteile gegenüber des MBR (Master Boot Record) wie in der folgenden Tabelle ersichtlich.

MBR
GPT
Anzahl Partitionen
4
unbegrenzt (Windows: 128)
Maximale Festplattengrösse
2 TB
18 EB (18'874'368 TB)
Sicherheit
Keine
Datensektoren mit Prüfsumme und Backup-Sektoren

Voraussetzungen:
Um eine GPT Disk als Startmedium zu verwenden muss ein 64bit Betriebssystem installiert sein auf einem Computer mit einem UEFI. BIOS kann GPT Disks nicht ansteuern.

Abwärtskompatibilität:
GPT wird jedoch leider noch nicht von allen Partitionstools unterstützt, diese werden die ganze Festplatte als "Reserviert" anzeigen, da ein Protective MBR zu GPT gehört welcher genau dieses Verhalten verursacht. Dadurch soll Datenverlust verhindert werden.
Weiterlesen

Freitag, 10. Mai 2013

am / Hinterlasse ein Kommentar

BIOS vs UEFI

UEFI (Unified Extensible Firmware Interface) ist der Nachfolger vom BIOS (Basic Input Output System) und bietet einige neue Funktionen.

UEFI Logo (Grafik: UEFI)


Die Hauptfunktion des BIOS bleibt auch bei UEFI die Hauptfunktion und zwar das Initialisieren der Hardware und das Laden des Betriebssystems. UEFI besitzt jedoch eine grafische Benutzeroberfläche mit vielen zusätzlichen Optionen. So können Mainboard-Hersteller Applikationen wie Browser, System-Checks oder auch Games für UEFI implementieren.

Einige Vorteile von UEFI:

  • grafische Benutzeroberfläche
  • Erweiterbarkeit der Funktionen
  • Live-Update
  • Netzwerkmodul zur Fernwartung
  • Secure Boot
  • Boot Loader Funktionalität
  • BIOS Emulation (Kompatibilität mit BIOS)
  • Boot Disk kann grösser als 2 TB sein (GPT als Voraussetzung)

Secure Boot ist eine Funktion welche mit Version 2.3.1 von UEFI eingeführt wurde und nur noch das Laden von signierten Betriebssystemen zulässt. Dies verhindert das Ausführen von Schadsoftware beim Starten von Computern. Daraus ergibt sich jedoch auch der Nachteil das einige Linux Distributionen und System Reparatur/Backup Software mit dem aktivierten Modus wohl nicht mehr gestartet werden können.

MSI UEFI (Grafik: TechPowerUp)


UEFI bietet tolle Neuerungen jedoch auch zukünftige Schwierigkeiten für Systemadministratoren. So werden wir abwarten müssen wie sich die Möglichkeiten zur Einschränkung von UEFI Features im Geschäftsbereich entwickeln werden. Abschliessend kann ich aber sagen das UEFI unsere Zukunft sein wird und sich weiterhin durchsetzen wird.
Weiterlesen

Montag, 8. April 2013

am / Hinterlasse ein Kommentar

Group Policy Einträge über Powershell setzen

Um bei vielen Installationen unterschiedliche Einstellungen in der Registry zu setzen benötigt man entweder viel Zeit und Handarbeit oder ein Powershell Script. Im folgenden Beitrag werde ich erläutern wie man einen solchen Ablauf automatisieren kann.

Vorarbeit:
Sehr wichtig ist ein geeigneter Script Editor. Es macht keine Freude in einem schwarz auf weissen Texteditor grössere automatisierte Abläufe zu schreiben. Microsoft bietet zu diesem Zweck Powershell ISE an. Ich persönlich bevorzuge jedoch PowerGUI, da mir dieses Programm einige zusätzliche Ansichten und Hilfen anbietet.

Anschliessend müssen wir wissen welche Einstellungen wir bei unserer Policy verändern müssen. Um den zur Einstellung gehörigen Registry Key zu erhalten bietet Microsoft Excel Dateien mit den Informationen an. Im Beispiel werden wir für eine WSUS Installation die Group Policy Einstellung "Specify intranet Microsoft update service location" anpassen.

Group Policy Management Editor (Grafik: Daniel Müller)



Aus der vorhin erwähnten Excel Liste von Microsoft geht hervor das die folgenden Schlüssel angepasst werden müssen:
  • HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer
  • HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\WUServer
  • HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\WUStatusServer
Der oberste Eintrag ist für das Aktivieren der Option zuständig. Die anderen beiden Schlüssel beschreiben die Textfelder in der Einstellung bei welchen der Server hinterlegt wird.

Specify intranet Microsoft update service location (Grafik: Daniel Müller)



Script:
Nun haben wir alle Informationen welche wir für unser Script benötigen. Nach kurzer Recherche bin ich auf den passenden Eintrag zu Group Policy Cmdlets in Windows Powershell aus dem Technet gestossen. Der benötigte Befehl für unser Script ist Set-GPRegistryValue.

Damit ergibt sich die Vorgabe, dass auf dem Computer auf dem das Script ausgeführt wird ein Domänen Controller bzw. RSAT installiert sein muss. Damit wir den Befehl überhaupt verwenden können müssen wir auch den benötigten Import des Moduls bzw. des einzelnen Befehls machen. Dies erreichen wir mit folgendem Befehl Import-Module GroupPolicy -cmdlet Set-GPRegistryValue.

Nun benötigen wir der Übersicht halber zwei Funktionen. Die eine wird uns in der mit Parameter übergebenen Policy den Key mit dem ValueName aktivieren. Die andere wird wiederum in der mit Parameter übergebenen Policy den Key mit dem ValueName verändern.

Funktion 1.1:
Ich nenne die Funktion sinngemäss EnableSetting. Es werden die Policy, der Schlüssel und der Wertname übergeben. Die Ausgabe einer Rückmeldung des Befehls Set-GPRegistryValue wird durch das Voranstellen von $null = unterbunden. Anschliessend prüfen wir mit if($?) die erfolgreiche Ausführung und geben gegebenenfalls eine Fehlermeldung zurück.



Funktion 1.2:
Der Vollständigkeit halber noch die DisableSetting, welche den DWORD Value anders als bei EnableSetting nicht auf 1 sondern auf 0 setzt.



Funktion 2:
Ich nenne die zweite Funktion sinngemäss SetSetting. Es werden die Policy, der Schlüssel, der Wertname un der zu setzende STRING Wert übergeben. Auch hier findet wieder eine Prüfung mit anschliessender Rückmeldung statt.



Hauptteil:
Im Hauptteil werden die verschiedenen Funktionen nacheinander aufgerufen. Wie dies in unserem Beispiel aussieht sieht man im vollständigen Script. Wollen wir nicht statische Eingaben so können wir diese mit Read-Host einlesen.



Das vollständige Beispielscript kann hier heruntergeladen werden.
Weiterlesen

Donnerstag, 4. April 2013

am / Hinterlasse ein Kommentar

Sie wurden mit einem temporären Profil angemeldet.

Diese Warnung von Microsoft erscheint, wenn das Profil nicht korrekt geladen werden konnte. Es ist davon auszugehen das es sich um ein defektes Profil handelt.

Fehlermeldung "Sie wurden mit einem temporären Profil angemeldet." (Grafik: Daniel Müller)



Ursache:
Meine Erfahrungen zeigen das es sich bei der Ursache des Fehlers oft um übereifrige Benutzer handelt. Der Benutzer bereinigten seinen Computer von nicht benötigten Daten und entfernt dabei das ganze Benutzerverzeichnis C:\Users\<Nutzername>.

Seit Windows 7 darf das Profil nicht mehr über die Dateistruktur gelöscht werden. Es werden zusätzlich zu den Daten auf das Verzeichnis verweisende Registry-Keys erstellt. Um das Profil korrekt zu löschen sollte der Weg über Computer → Eigenschaften → Erweiterte Systemeinstellungen → Benutzerprofile → Einstellungen entfernt werden. Ist der Löschen Knopf inaktiv so muss der Computer neugestartet und mit einem anderen Benutzer eingeloggt werden.

Benutzerprofil Eigenschaften (Grafik: Daniel Müller)



Problembehebung:
Ist das Benutzerverzeichnis bereits gelöscht kann es sein, dass das Profil nicht mehr in der Übersicht angezeigt wird. Nun bleibt uns nichts anderes übrig als die Registry von Hand zu bereinigen.

Registry öffnen:
Durch Ausführen von regedit erhält man Zugriff auf die Registry.

Wichtig: In der Registry sollen nur Änderungen durchgeführt werden von denen man sicher ist was sie bewirken. Ansonsten kann die Systemstabilität beeinträchtigt sein.

Registry-Key:
In HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ProfileList befinden sich diverse Schlüssel. In den Eigenschaften dazu erkennt man zu welchem Profil der jeweilige Schlüssel gehört und entfernt danach den betroffenen.

Registrierungs-Editor (Grafik: Daniel Müller)



Das Problem ist nun behoben und das Profil wird beim nächsten Anmelden wieder korrekt geladen.
Weiterlesen