blog.icewolf.ch

Let's talk about IT!
posts - 1277, comments - 293, trackbacks - 0

My Links

Archives

Post Categories

icewolf

Thursday, January 11, 2018

Outlook for Android private Appointments are finally available

Hallo zusammen,

Bei der Android Outlook App gab es ein Update 2.2.74 (239). Damit ist es nun endlich möglich Termine auch als "Privat" zu markieren. Ebenfalls kann man nun den Status festlegen (Beschäftigt / Frei / Mit Vorbehalt / Ausser Haus)

 

Grüsse
Andres Bohren

posted @ Thursday, January 11, 2018 10:32 PM | Feedback (0) | Filed Under [ UM/Mobile O365 ]

Exchange 2016 RecoverServer

Hallo zusammen

Wo ich schon dabei bin, habe ich auch gleich mal ein Exchange 2016 Recovery durchgeführt. Nach einer erfolgreichen Installation von Exchange 2016 habe ich den Windows 2016 Server "platt gemacht". Rhoderick Milne hat eine gute Zusammenfassung dazu geschrieben.

Exchange 2016 RecoverServer
https://blogs.technet.microsoft.com/rmilne/2017/04/26/exchange-2016-recoverserver/

setup.exe /IAcceptExchangeServerlicenseTerms /Mode:RecoverServer

Nach einem Neustart war Exchange wieder vollständig installiert.

Ob alles in Ordnung ist prüft man mit am besten folgendermassen

Get-HealthReport -Identity ICESRV06 | where {$_.state -ne "NotApplicable"}

Danach muss man nur noch folgende Arbeiten machen:

  • Zertifikate installieren
  • Zertifikate den Services zuweisen (Enable-ExchangeCertificates)
  • Server zum DAG hinzufügen (falls notwendig)
  • Datenbanken wiederherstellen / mounten
Liebe Grüsse
Andres Bohren

posted @ Thursday, January 11, 2018 8:29 PM | Feedback (0) | Filed Under [ Exchange ]

Exchange 2016 Installation Screenshots

Hallo zusammen,

In meinem Labor habe ich nun Exchange 2016 installiert. Ich habe mir das Cumulative Update 18 heruntergeladen. Das CU ist eine vollständige Installation und etwa 5.6 GB gross.

Exchange 2016 system requirements
https://technet.microsoft.com/en-us/library/aa996719(v=exchg.160).aspx

Exchange 2016 prerequisites (Ab CU 18 kann direkt .Net 4.7.1 installiert werden)
https://technet.microsoft.com/en-us/library/bb691354(v=exchg.160).aspx

Vor der Installation sollten diese zwei Packete installiert werden.

Kumulative Update 8 für Exchange Server 2016
https://support.microsoft.com/de-ch/help/4035145/cumulative-update-8-for-exchange-server-2016

Der Readyness Check hat erkannt, dass ich das UCMA noch nicht installiert habe. Ausserdem ist MAPI over HTTP noch nicht aktiviert.

Bevor ich das Mapi over HTTP aktiviere, setze ich noch die externe URL

Get-MapiVirtualDirectoty -Server ICESRV09

Get-MapiVirtualDirectoty -Server ICESRV09 | Set-MapiVirtualDirectory -ExternalURL https://mail.icewolf.ch/mapi -IISAuthenticationMethods NTLM,Negotiate,OAuth

Nun kann MAPI over HTTP aktiviert werden

Set-OrganizationConfig -MapiHttpEnabled $true
Set-OrganizationConfig | fl MapiHttpEnabled

Da dies der erste Exchange 2016 in meinem Active Directory ist, wird "PrepareSchema", "PrepareAD" und "PrepareDomain" ausgeführt.

Grüsse
Andres Bohren

posted @ Thursday, January 11, 2018 7:46 PM | Feedback (0) | Filed Under [ Exchange ]

Office 365 Service Communications API with Powershell

Hallo zusammen,

Ich habe mich in den letzten Tagen mit dem Office 365 Service Communications API auseinandergesetzt. Mein Ziel war es, den Status der Office 365 Services per Powershell auszulesen.

Office 365 Service Communications API reference (preview)
https://msdn.microsoft.com/de-ch/office-365/office-365-service-communications-api-reference

Als erstes habe ich im Azure Portal eine App Registriert

Wie die Anmeldung funktioniert wird nachfolgend beschrieben. Der Tenant Admin muss die Anfrage freigeben und so kommt man an den "AUTH CODE". Mit dem Code kann man sich anschliessend ein "Access Token" holen. Und mit dem Access Token autorisiert man sich bei den Rest API's.

Get started with Office 365 Management APIs
https://msdn.microsoft.com/de-ch/office-365/get-started-with-office-365-management-apis 

Mit dem folgenden Powershell Code holt man sich den AuthCode.

Function Show-OAuthWindow
{
    param(
        [System.Uri]$Url
    )

    Add-Type -AssemblyName System.Windows.Forms
 
    $form = New-Object -TypeName System.Windows.Forms.Form -Property @{Width=440;Height=640}
    $web  = New-Object -TypeName System.Windows.Forms.WebBrowser -Property @{Width=420;Height=600;Url=($url ) }
    $DocComp  = {
        $Global:uri = $web.Url.AbsoluteUri
        if ($Global:Uri -match "error=[^&]*|code=[^&]*") {$form.Close() }
    }
    $web.ScriptErrorsSuppressed = $true
    $web.Add_DocumentCompleted($DocComp)
    $form.Controls.Add($web)
    $form.Add_Shown({$form.Activate()})
    $form.ShowDialog() | Out-Null

    $queryOutput = [System.Web.HttpUtility]::ParseQueryString($web.Url.Query)
    $output = @{}
    foreach($key in $queryOutput.Keys){
        $output["$key"] = $queryOutput[$key]
    }
   
    $output
}

$adTenant = "serveralive.onmicrosoft.com"
$clientId = "659aee23-f0b2-491a-9a86-c9fd6d3b7097"
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$URLEncodedredirectUri = [System.Web.HttpUtility]::UrlEncode($redirectURI)
$resource = "https://manage.office.com"
$URLEncodedResource = [System.Web.HttpUtility]::UrlEncode($resource)
$authority = "https://login.microsoftonline.com/$adTenant/oauth2/authorize?"

$uri = "$Authority" +
"client_id=$clientId" +
"&response_type=code" +
"&redirect_uri=$URLEncodedredirectUri" +
"&response_mode=query" +
"&resource=$URLEncodedResource" +
"&prompt=admin_consent"

$queryOutput = Show-OAuthWindow -Url $uri
$code = $queryOutput.Code

Wenn die Funktion "Show-OAuthWindow" aufgerufen wird, wird folgendes Fenster angezeigt.

 

Als Tenant Admin müssen nun die Berechtigungen erteilt werden.

Mit dem folgenden Powershell Code hole ich mir nun den Access- und RefreshToken

$adTenant = "serveralive.onmicrosoft.com"
$clientId = "659aee23-f0b2-491a-9a86-c9fd6d3b7097"
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$URLEncodedredirectUri = [System.Web.HttpUtility]::UrlEncode($redirectURI)
$resource = "https://manage.office.com"
$URLEncodedResource = [System.Web.HttpUtility]::UrlEncode($resource)
$authority = "https://login.windows.net/$adTenant/oauth2/token"

$body = "resource=$URLEncodedResource" +
"&client_id=$clientId" +
"&redirect_uri=$URLEncodedredirectUri" +
"&grant_type=authorization_code" +
"&code=$code"

$result = Invoke-RestMethod -Method POST -uri $authority -Body $body
$result

Die Werte in den Variablen "expires_on und "not_before" sind in Unixzeit und in UTC gespeichert.

Das kann aber mit Powershell in eine DateTime Objekt umgewandelt werden. Ausserdem muss noch das UTC Offset der lokalen Machine berücksichtigt werden. Dazu muss dann noch die "expires_in" (Sekunden bis der Token ausläuft) hinzugerechnet werden.

[Int]$ctime=1515017952
[datetime]$epoch = '1970-01-01 00:00:00'
[datetime]$expiretime = $epoch.AddSeconds($Ctime)
write-host $expiretime
$expiretime.ToUniversalTime()
$TimeZone = Get-TimeZone
$UTCOffset = $TimeZone.BaseUtcOffset
$expiretime + $utcOffset

Nun können die vier Rest API's abgefragt werden

  • Get Services: Get the list of subscribed services.
  • Get Current Status: Get a real-time view of current and ongoing service incidents and maintenance events
  • Get Historical Status: Get a historical view of service health, including service incidents and maintenance events.
  • Get Messages: Find Incident, Planned Maintenance, and Message Center communications.

Mit dem folgenden Powershell Code können die Services angezeigt werden

#Get Services: Get the list of subscribed services.
$uri = "https://manage.office.com/api/v1.0/$adTenant/ServiceComms/Services"
$headers = @{"Authorization" = "Bearer " + $access_token}
$services = Invoke-RestMethod -Method GET -uri $uri -Headers $headers
$services.value

Mit dem folgenden Powershell Code kann der aktuelle Status der Services angezeigt werden

#Get Current Status: Get a real-time view of current and ongoing service incidents and maintenance events
$uri = "https://manage.office.com/api/v1.0/$adTenant/ServiceComms/CurrentStatus"
$headers = @{"Authorization" = "Bearer " + $access_token}
$status = Invoke-RestMethod -Method GET -uri $uri -Headers $headers
$status.value | ft id,WorkloadDisplayName, status, statusDisplayName,IncidentIds
$status.value | ft WorkloadDisplayName, status, statusDisplayName,IncidentIds
$Servicestatus = $status.value | where {$_.id -eq "Exchange"}
$featureStatus = $status.value | where {$_.id -eq "Exchange"}
$featureStatus.FeatureStatus | ft FeatureDisplayName,FeatureServiceStatus

Mit dem folgenden Powershell Code kann der historische Status der Services angezeigt werden

#Get Historical Status: Get a historical view of service health, including service incidents and maintenance events.
$uri = "https://manage.office.com/api/v1.0/$adTenant/ServiceComms/HistoricalStatus"
$headers = @{"Authorization" = "Bearer " + $access_token}
$HistStatus = Invoke-RestMethod -Method GET -uri $uri -Headers $headers
$HistStatus.value

Mit dem folgenden Powershell Code können die Meldungen aus dem O365 Message Center abgerufen werden

#Get Messages: Find Incident, Planned Maintenance, and Message Center communications.
$uri = "https://manage.office.com/api/v1.0/$adTenant/ServiceComms/Messages"
$headers = @{"Authorization" = "Bearer " + $access_token}
$Messages = Invoke-RestMethod -Method GET -uri $uri -Headers $headers
$Messages.value
$Messages.value | ft ActionType, AffectedWorkloadDisplayNames,Id, ImpactDescription #AffectedTenantCount, AffectedUserCount
$Messages.value | where {$_.id -eq "EX125946"}
$Messages.value | where {$_.id -eq "EX126202"}

Grüsse
Andres Bohren

posted @ Thursday, January 11, 2018 7:07 PM | Feedback (0) | Filed Under [ O365 ]

Monday, January 08, 2018

Endpoint Protection system tray Multiple Errors

Hallo zusammen,

Seit dem Security Patch von Microsoft am 3. Januar 2018 zeigt das System tray Icon von Symante Enterprise Protecton einen Fehler an: There are multiple Problems (2)

Ist aber ein Known Problem - siehe hier:

Endpoint Protection system tray icon reports there are multiple errors after applying Windows Security Updates from 1/3/2018 https://support.symantec.com/en_US/article.TECH248552.html

Grüsse
Andres Bohren

posted @ Monday, January 08, 2018 8:02 PM | Feedback (0) | Filed Under [ Security ]

Friday, January 05, 2018

ESXi600-201711001

Hallo zusammen,

VMware hat für ESXi 6.0 einen Patch veröffentlicht. Der Patch kann im VMware Portal heruntergeladen werden https://my.vmware.com/group/vmware/patch#search
 

VMware ESXi 6.0, Patch Release ESXi600-201711001 (2151126)

https://kb.vmware.com/s/article/2151126

Nach dem Download muss die ZIP Datei auf den ESXi Server geladen werden

Nach dem Upload des Patches auf den ESX Server kann dieser installiert werden. Auf dem ESX Server sollten zu diesem Zeitpunkt keine VM`s mehr laufen.

esxcli software vib install -d /vmfs/volumes/51d4952e-4b9544a6-282f-c8cbb8cc276a/ISO/ESXi600-201711001.zip

Nach dem Neustart weist der Server die Versionsnummer 6.0.0 Build 6921384 auf.

Nun müssen noch die VMware Tools aktualisiert werden.

Grüsse
Andres Bohren

posted @ Friday, January 05, 2018 8:44 AM | Feedback (0) | Filed Under [ Virtualisation ]

Office 2016 for Mac December 2017 Updates

Hallo zusammen,

Ich habe meine Mac OS VM mal wieder aktualisiert und dabei auch die Office 2016 Updates installiert. Dabei gibt es ein paar interessante Features, welche nun implementiert wurden.

https://techcommunity.microsoft.com/t5/Skype-for-Business-Blog/Skype-for-Business-on-Mac-December-release-16-13-184-is-out/ba-p/135232

Neue Features

  • Status from your Outlook calendar
  • Manage people in your meetings and calls
  • Know when you are offline
  • See your missed IM messages
  • Automatically close the window when you hang up a call
  • Monitor the quality of your audio and video calls

https://support.office.com/en-us/article/Release-notes-for-Office-2016-for-Mac-ed2da564-6d53-4542-9954-7e3209681a41?ui=en-US&rs=en-US&ad=US#bkmk_dec2017

Das letzte Feature update war im Oktober 2017: Improved readability and accessible, too

Grüsse
Andres Bohren

posted @ Friday, January 05, 2018 12:22 AM | Feedback (0) | Filed Under [ O365 ]

Thursday, January 04, 2018

processor security flaw

Hallo zusammen,

Seit gestern kursieren die Hinweise zu den Prozessor Sicherheitslücken #Meltdown und #Spectre im Internet. Verschiedene Hersteller geben nun aktualisierte Updates für Kernel oder Microcode Updates heraus. Das Jahr geht also mit einem Knall los - viel Spass beim Installieren all der Updates!

Auf meinem CentOS ist ein neuer Kernel und ein Microcode Update verfügbar

Auch bei Windows ist ein Security Update verfügbar, welches Kernelupdates enthält https://support.microsoft.com/en-us/help/4056890/windows-10-update-kb4056890

Ebenfalls hat VMware Updates für ESXi veröffentlicht.

Grüsse
Andres Bohren

posted @ Thursday, January 04, 2018 10:49 PM | Feedback (0) | Filed Under [ Security ]

Monday, January 01, 2018

Jahresrückblick und Blogstatistik 2017

Hallo zusammen,

Erstmal wünsche ich allen Lesern dieses Blogs "Es Guets Nöis"!

Ich hoffe euch gefällt das Blog auch weiterhin. Über Feedback freue ich mich natürlich immer!

Anfangs des Jahres ist es jeweils ein guter Zeitpunkt um auf das alte Jahr zurückzuschauen. Seit nun 10 Jahren schreibe ich Blog Artikel und habe insgesamt über 1'200 Beiträge geschrieben. Im 2017 habe ich nur 57 Blog Artikel geschrieben, also durchschnittlich knapp 5 pro Monat - so wenig wie schon lange nicht mehr. Trotzdem habe ich durchschnittlich etwa 150 Pageviews pro Tag.

Im letzten Jahr habe ich rund 1'200 KM auf dem Bike zurückgelegt und bin dafür etwa 62 Stunden im Sattel gesessen. Ausserdem bin viel Gereist. Ich war in Ischgl, München, Elba, Palma de Mallorca, Salzburg, Karlsruhe, Hamburg und Valencia. Habe in Elba und Palma zusammen 23 wunderschöne Tauchgänge  absolviert.

Beruflich habe ich mich viel mit Office 365 beschäftigt und die Migration von 12'000 Mailboxen nach Exchange Online geleitet. Dank meinem hervorragenden Team hat das fast reibungslos geklappt.

Im 2017 habe ich meine 30ste Microsoft Prüfung abgelegt. Ich habe den Upgrade vom MCSA auf Windows Server 2016 gemacht und damit auch gleich mein MCSE Productivity auf 2017 erneuert.

Die Top 10 der Blogartikel 2017

Liebe Grüsse
Andres Bohren

posted @ Monday, January 01, 2018 12:13 PM | Feedback (0) | Filed Under [ Web ]

Saturday, December 30, 2017

Maximal OST Size in Outlook

Hallo zusammen,

Kürzlich habe ich in Outlook 2016 eine Fehlermeldung erhalten, dass die Maximalgrösse des Nachrichtenspeichers erreicht sei.

0x8004060c - Der Nachrichtenspeicher hat die Maximalgrösse erreicht.

Also mal das OST File anschauen. Am schnellsten kommt man ins nächstgelegene Verzeichnis über die folgende Variable

%localappdata%

Danach muss man nur noch ins Verzeichnis Microsoft\Outlook wechseln. Wie man sieht ist die OST Datei 50 GB! gross. Kein Wunder dass da nichts mehr funktioniert :)

Zu Dokumentationszwecken - ich nutze Office 2016 Pro Plus 1711

Ich habe die OST Datei gelöscht und im Profil das Häcklein bei "Freigegebene Ordner herunterladen" deaktiviert.

Fazit:

Auch wenn man die maximale Grösse der PST / OST Datei über die Registry verändern kann, macht es mehr Sinn, die Grösse des Postfachs zu optimieren.

  • Maximal 100'000 Items per Folder
  • Maximal 5'000 Items im Kalenderfolder --> Performance
  • Herunterladen von Shared Folders (Shared Mailboxen) deaktivieren
  • OST Löschen und den Cache neu aufbauen lassen.

Weitere Informationen

Grüsse
Andres Bohren

posted @ Saturday, December 30, 2017 2:22 PM | Feedback (0) | Filed Under [ O365 ]

Powered by:
Powered By Subtext Powered By ASP.NET