Outlook 2013 stürzt nach Start einfach unmotiviert ab

1 Juli 2020

Ein aktuelles Outlook 2013 stürzte nach dem Start einfach unmotiviert ab. In der Ereignisanzeige konnte man so was finden:

Name der fehlerhaften Anwendung: OUTLOOK.EXE, Version: 15.0.5233.1000, Zeitstempel: 0x5e768c7b
Name des fehlerhaften Moduls: OUTLMIME.DLL, Version: 15.0.5125.1000, Zeitstempel: 0x5c7e59e6
Ausnahmecode: 0xc0000005
Fehleroffset: 0x00065dd7
ID des fehlerhaften Prozesses: 0x1bf0
Startzeit der fehlerhaften Anwendung: 0x01d64c8809b0f145
Pfad der fehlerhaften Anwendung: C:\Program Files\Microsoft Office 15\root\office15\OUTLOOK.EXE
Pfad des fehlerhaften Moduls: C:\Program Files\Microsoft Office 15\Root\Office15\OUTLMIME.DLL
Berichtskennung: 36b00137-877c-4a09-b104-3aa03fda7fc5
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:

Der erste Schritt in so einer Situation ist normalerweise Outlook mittels Parameter /safe im abgesicherten Modus zu starten. Dadurch werden z. B. keine AddIns geladen. Um Outlook direkt zu starten geht man am einfachsten direkt ins Verzeichnis, in diesem Fall war es: C:\Program Files\Microsoft Office 15\root\office15. 15 weil es sich um Outlook 2013 handelte, bei neueren Versionen hat man hier eine andere Zahl. Aber trotz /safe stürzte Outlook immer noch ab. Was tun?

Die Suche nach OUTLMIME.DLL brachte zunächst diesen Link: https://answers.microsoft.com/de-de/msoffice/forum/all/outlook-2013-st%C3%BCrzt-ab/f8cbbfc7-b752-48a2-ab23-c60226794e73. Aber da war nix verwertbares dabei, bis auf die Tatsache, dass der Support von MS ScheiXXe ist…

Dieser Link https://www.ryadel.com/en/outlook-crash-on-startup-outlmime-dll-imap-fix/ brachte am Ende dann die Lösung. Denn es war tatsächlich eine korrumpierte OST-Datei. Da auf dem Rechner mehrere verwendet wurden, wurde einfach eine nach der anderen in eine .BAK-Datei umbenannt, damit Outlook wieder von vorne anfangen musste diese mit dem IMAP-Server zu synchronisieren. Outlook stürzte so lange ab, bis die passende .OST-Datei gefunden war, welche das Problem erzeugte. Dazwischen wurde die .BAK-Datei wieder zur Originaldatei umbenannt, um unnötiges, langes Synchronisieren zu vermeiden.

Die OST-Dateien findet man überlicherweise in diesem Pfad: C:\Users\Benutzername\AppData\Local\Microsoft\Outlook.

Download-URL einer App aus Windows Store ermitteln

2 Juni 2020

Früher nutzte Windows Update den BITS-Dienst um seine Updates zu laden, wie übrigens auch Chrome. Seit Windows 10 nutzt Windows allerdings einen anderen Mechanismus. Die Updates werden über die Übermittlungsoptimierung geladen. Dadurch können Updates auch lokal im Netz ohne zentrale Stelle verteilt werden. Auch der Windows Store nutzt die Übermittlungsoptimierung um darüber Apps zu laden.

Wenn man nun aber eine App direkt selber laden möchte, also ohne den Store, dann muss man die konkrete Download-Url herausfinden. Eine Möglichkeit besteht darin, einen Download im Store zu starten und diesen dann zu pausieren. Anschließend kann man mittels dieses Powershell-Befehl die Download-Url ermitteln:

(Get-DeliveryOptimizationStatus)[-1].sourceurl|select -ExpandProperty  originalstring

Dabei wird angenommen, das der letzte Download auch der gesuchte ist, ansonsten muss man anstatt –1 andere Werte probieren oder die gesamten Werte ausgeben.

Get-DeliveryOptimizationStatus ist seit v1703 verfügbar: https://newyear2006.wordpress.com/2017/04/05/bermittlungsoptimierung-neuigkeiten-in-windows-10-v1703/.

Windows Subsystem für Linux WSL2 unter Windows 10 2004 per Kommandozeile installieren

1 Juni 2020

Da nun endlich WSL2 offiziell erschienen ist, hier der konkrete Weg wie die Installation per Kommandozeile erfolgt.

Verwiesen sei noch auf einen alten Artikel zu WSL1: https://newyear2006.wordpress.com/2020/05/28/ubuntu-bzw-wsl-1-auf-windows-10-per-kommandozeile-installieren/, der zwar jetzt erst hochgeladen wurde aber nicht mehr aktuell ist. Wurde nur der Vollständigkeithalber hochgeladen. Unterschiede zwischen WSL1 und WSL2: https://docs.microsoft.com/de-de/windows/wsl/compare-versions.

Nun zu WSL2. Man benötigt eine Powershell-Eingabeaufforderung mit Admin-Rechten.

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Restart-Computer

Danach benötigt man noch einen Kernel für Linux und muss die WSL-Version auf Version 2 umstellen:

Start-BitsTransfer https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update
_x64.msi

.\wsl_update_x64.msi
wsl  –set-default-version 2

Am Schluss wird noch eine Distribution, hier Ubuntu 20.04 LTS benötigt:

Start-BitsTransfer ‚http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/39d871ba-2d91-4a27-a78e-4c45a7b249e8?P1=1590686270&P2=402&P3=2&P4=L1kXMuTbGCiLPIYl8Dpy3XOBX2DgFV2
VQF/r2X4CDU2H/rNVNdLksOKLNrZjJ0qk7mc6YaWEH3XqdlYjHcjoow==‘ –Destination Ubuntu.ZIP
# entpacken
Expand-Archive Ubuntu.ZIP
# Version enthält X64 und ARM64!
cd Ubuntu
Rename-Item .\Ubuntu_2004.2020.424.0_x64.appx ubuntu.zip
cd Ubuntu
.\ubuntu.exe

Nun wird die Ubuntu-Version installiert und steht nach Eingabe eines Benutzers zur Verfügung. Auf der Windows-Eingabeaufforderung kann man mittels

wsl -l –v

einsehen, ob die Distribution mit der richtigen Version verfügbar ist.

Hier noch als Referenz die Anleitung zur Installation von WSL2 von MS: https://docs.microsoft.com/de-de/windows/wsl/install-win10
Bei Windows Server:
https://docs.microsoft.com/de-de/windows/wsl/install-on-server
Wie man den Linux-Kernel aktualisiert:
https://docs.microsoft.com/de-de/windows/wsl/wsl2-kernel
Verfügbare Distributionen bekommt man hier angezeigt:
https://aka.ms/wslstore
Manuelles Laden von Distributionen
https://docs.microsoft.com/de-de/windows/wsl/install-manual

Ubuntu bzw. WSL 1 auf Windows 10 per Kommandozeile installieren

28 Mai 2020

Hier ein kleines Powershellskript um Ubuntu bei Windows 10 v1703 installieren zu können:

Zunächst muss der DeveloperMode aktiviert werden, hier hat jemand den entscheidenden Registryeintrag beschrieben https://stackoverflow.com/questions/40033608/enable-windows-10-developer-mode-programmatically.

# Create AppModelUnlock if it doesn’t exist, required for enabling Developer Mode
$RegistryKeyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"
if (-not(Test-Path -Path $RegistryKeyPath)) {
    New-Item -Path $RegistryKeyPath -ItemType Directory -Force
}

# Add registry value to enable Developer Mode
New-ItemProperty -Path $RegistryKeyPath -Name AllowDevelopmentWithoutDevLicense -PropertyType DWORD -Value 1

Dann muss das WSL Windows Subsystem für Linux installiert werden:

Enable-WindowsOptionalFeature -FeatureName Microsoft-Windows-Subsystem-Linux -Online -All -LimitAccess -NoRestart

Jetzt kann man die betreffende Linux-Distribution aus dem Windows-Store herunterladen, hier Ubuntu:

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.zip -UseBasicParsing

Neben Ubuntu gibt es noch Fedora und Suse. Bei der Erklärung zum Server 2016 werden diese im Detail genannt: https://msdn.microsoft.com/en-us/commandline/wsl/install-on-server.

Danach muss man einen Neustart machen und in der Kommandozeile bash eingeben, damit das Ubuntu-Paket aus dem Windows Store geladen werden kann.

 

Hier ein weiteres Beispiel wie es funktioniert, vor allem wird noch WINE nachinstalliert:

https://ibreak.software/2017/10/executing-windows-malware-in-windows-subsystem-for-linux-bashware/

https://wiki.winehq.org/Ubuntu

Leider funktioniert WINE nur bei reinen 64-Bit Konsolen Programmen und nicht bei grafischen Anwendungen. Aus diesem Grund kommt immer die Meldung:

Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.

Hilft hier eventl. XMing? http://www.straightrunning.com/XmingNotes/, geht tatsächlich: https://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx. Es gibt auch noch CygWin/X: http://x.cygwin.com/. Hier eine Beschreibung wie es mit CygWin/X geht: https://superuser.com/questions/1180005/cygwin-x-and-windows-subsystem-for-linux.

 

Auch gibt es Probleme mit 32-Bit Programmen, weil WSL 64-Bit ist: https://github.com/Microsoft/WSL/issues/2468, aber es scheint für dieses Problem einen Tweak zu geben.

Noch eine weitere Beschreibung: https://www.administrator.de/wissen/windows-subsystem-linux-installation-wsl-konfiguration-gnome-10-362919.html.

Windows 10 und Server Release Informationen

3 März 2020

Wo wir gerade im vorhergehenden Artikel bei Office 365 Buildnummern waren (https://newyear2006.wordpress.com/2020/03/02/office-365-buildnummern-und-versionen/), hier noch passend offizielle Release Informationen zu Windows 10 und Windows Server: https://docs.microsoft.com/en-us/windows/release-information/. Dazu gibt es noch ein Message Center mit offiziellen Verlautbarungen: https://docs.microsoft.com/en-us/windows/release-information/windows-message-center.

Zum einzelnen Release findet man noch weitere Infos zu Problemen für z. B. 1903: https://docs.microsoft.com/en-us/windows/release-information/status-windows-10-1903, oder für 1909: https://docs.microsoft.com/en-us/windows/release-information/status-windows-10-1909.

Office 365 Buildnummern und Versionen

2 März 2020

Durch die regelmäßigen Updates bei Office 365 aber gleichzeitigen Beibehaltung der Hauptversionsnummer 16 wird es schwierig den Überblick zu behalten.

Hier hilft ein Blick auf die Seite mit den aktuell verfügbaren Buildnummern und Änderungen in Office 365 bei Microsoft:

https://docs.microsoft.com/de-de/officeupdates/update-history-office365-proplus-by-date

Hier das gleich noch für die alten Office Versionen wie 2016 und 2019:

https://docs.microsoft.com/de-de/officeupdates/update-history-office-2019

Hier noch ein kleiner historischer Überblick für Outlook, da es da auch mal öfters klemmt: https://www.msoutlook.info/question/200

Exchange Server schneller Überblick über ein und ausgehende E-Mails

21 Februar 2020

Für einen schnellen Überblick über ein- und ausgehende E-Mails des heutigen Tages kann man diesen Powershell-Befehl verwenden:

Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start ((Get-Date).date) -End (Get-Date) | ? {$_.Source -eq "STOREDRIVER"}

Sollte die Darstellung zu viele Treffer liefern und man ist nur direkt an den Ein- bzw. Ausgängen interessiert:

Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start ((Get-Date).date) -End (Get-Date) | ? {$_.Source -eq "STOREDRIVER" -and @("DELIVER", "RECEIVE") -contains $_.EventID }

Möchte man nur wissen wie viel rein und raus sind:

Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start ((Get-Date).date) -End (Get-Date) | ? {$_.Source -eq "STOREDRIVER" -and @("DELIVER", "RECEIVE") -contains $_.EventID } | group EventID

Dabei steht DELIVER für empfangene E-Mails und RECEIVE für gesendete E-Mails.

Möchte man obiges nur für einen Benutzer mit einem bestimmten Benutzernamen:

$ea=Get-Mailbox –Identity Benutzer| select -ExpandProperty WindowsEMailAddress
Get-TransportServer | Get-MessageTrackingLog -ResultSize Unlimited -Start ((Get-Date).date) -End (Get-Date)  | ? {$_.Source -eq "STOREDRIVER" -and @("DELIVER", "RECEIVE") -contains $_.EventID -and ($_.sender -eq $ea.ToString() -or $_.recipients -eq $ea.ToString()) }

Vollversion von Teamviewer per Windows Powershell abschalten

4 Februar 2020

Wer noch eine alte Teamviewer Lizenz besitzt, welche noch nicht auf dem aktuellen Abomodell beruht, der bekommt öfter das Problem, dass z. B. der Quicksupport nicht funktioniert, weil eine neuere Vollversion oder eine neue TV-Demoversion installiert ist. Man kann zwar den aktiven Teamviewer anzeigen lassen aber ein einfaches Schließen ist nicht möglich, denn der Teamviewer legt sich nur in die Taskleiste in die Systray. Für unbedarfte Benutzer kann es manchmal schwierig werden dann den Teamviewer zu beenden.

Wer auf so einen Rechner öfters drauf muss, der kann einen zusätzlichen Link mit diesem kleinen Script anlegen:

cmd.exe /c powershell -Command "& {Start-Process -Wait -Verb RunAs Powershell -argumentlist ‚-Command‘,’& {Stop-Service Teamviewer -Force -Verbose; Get-Process Teamviewer* | Stop-Process -Verbose}‘}"

Es werden zuerst Admin-Rechte geholt, dann wird der Teamviewer Dienst beendet und noch vorhandene Teamviewer-Prozesse beendet. Auch wenn das TV-Symbol im Systray bleiben sollte, es verschwindet, sobald man mit dem Mauszeiger darauf geht.

Danach lässt sich, auch eine ältere TV-Quicksupportversion problemlos starten.

Microsoft Umstellung auf Teams hat viele alte Blog-Ressourcen kaputt gemacht

9 Januar 2020

Leider musste Microsoft mal wieder seine Technologie umstellen und ist mit seinen Blogs wie blogs.msdn.com oder blogs.technet.com die letzten Jahre Stück für Stück auf Microsoft Teams gewechselt. Anstatt nun aber die alten Blogs mit Weiterleitungen zu versehen und auf die neuen zu verlinken, sind die alten einfach Großteils weg. Hier bin ich schon mal auf das Thema eingegangen: https://newyear2006.wordpress.com/2019/05/01/microsoft-baut-mal-wieder-um-technet-und-msdn-blogs-sind-nun-unter-techcommunity-zu-finden/.

Auf der Suche nach einem Thema bin ich nun über die Seite

https://docs.microsoft.com/de-de/archive/blogs/

gestolpert, da gibt es doch scheinbar fast alle Blogs.

So findet sich z. B. der Virtual PC Guy – Ben Armstrong unter https://docs.microsoft.com/de-de/archive/blogs/virtual_pc_guy/.

Mit etwas extra Aufwand kann man also die alten Links wieder mit Leben füllen.

Einziger Wermutstropfen, die Kommentare sind leider weg. Diese waren oftmals zusätzlich hilfreich. Schade.

Ändern von Einstellungen einer VM nach dem Anlegen im Hyper-V-Manager

26 November 2019

Leider lässt es der Hyper-V-Manager nicht zu, die Vorgaben für neue virtuelle Maschinen vorzugeben. Deshalb muss man Prozessoranzahl, Prüfpunkte usw. jedes Mal von Hand setzen.

Man könnte aber auch über Powershell diese Vorgaben, automatisch setzen.

Dazu müssen wir zuerst ermitteln, welche VM als letztes angelegt wurde:

$vm = (get-vm | sort creationtime -Descending)[0]
$vm.name

Danach kann man die gewünschten Einstellungen vornehmen:

$vm = (get-vm | sort creationtime -Descending)[0]
$vm.name

If ($vm) {
Set-VM -VM $vm -ProcessorCount 2
Set-VM -VM $vm -AutomaticCheckpointsEnabled $false
  If($vm.Generation –ge 2) {
  If (($vm.dvddrives).path –match ‚debian‘) {
    Set-VMFirmware -vm $vm -SecureBootTemplate MicrosoftUEFICertificateAuthority
    }

  If (($vm.dvddrives).path –match ‚ubuntu‘) {
    Set-VMFirmware -vm $vm -SecureBootTemplate MicrosoftUEFICertificateAuthority
    }
  }
}

In diesem kleinen Script setzen wir die ProzessorAnzahl auf 2, schalten die automatischen Prüfpunkte aus und setzen am Schluss noch das SecureBootTemplate auf MicrosoftUEFI, wenn es sich um eine Generation 2 VM handelt und der Dateinamen der DVD Ubuntu oder Debian enthält.

Der letzte Punkt ist natürlich zweifelhaft aber da Ubuntu und Debian in den aktuellen Versionen UEFI Secure Boot unterstützen wird davon ausgegangen, dass man es nutzen möchte.