Virtual Study

12 kwietnia 2014

Aktualizacja offline antimalware z Exchange 2013

Jakiś czas temu pisałem o aktualizowaniu agenta antimalware w Exchange 2013, które nie zawsze działa poprawnie. Najgorzej jest w sytuacji gdy Exchange nie ma połączenia z Internetem. Ciekawy artykuł, jak obejść ten problem opublikował właśnie Brian Reid na swoim blogu. W artykule http://support.microsoft.com/kb/2292741 opisany jest skrypt do ręcznego pobierania poprawek, więc odpaliwszy go z maszyny, która ma dostęp do internetu, uzyskamy lokalne repozytorium dla serwera Exchange, który chcemy aktualizować.

Czyli na maszynie WINFS,z dostępem do internetu, tworzymy folder AntimalewareEngines i udostępniamy go, a nstępnie wykonujemy skrypt:

Update-Engines.ps1 -EngineDirPath C:\AntimalewareEngines -UpdatePathUrl http://forefrontdl.microsoft.com/server/scanengineUpdate/  -Engines “Microsoft” -Platforms amd64

Następnie na serwerze Exchange wskazujemy serwer, z którego będziemy pobierać poprawki:

Set-MalwareFilteringServer ServerName –PrimaryUpdatePath \\WINFS\AntimalewareEngines

Teraz wystarczy tylko wymusić aktualizację silnika Antimalware (oczywiście najlepiej eskalując uprawnienia do poziomu administratora):

Add-PSSnapin microsoft.forefront.filtering.management.powershell

Start-EngineUpdate.

Po sprawdzeniu wersji aktualizacji, (Get-EngineUpdateInformation) powinniśmy zauważyć różnicę.

05 kwietnia 2014

Klient Checkpointa wbudowany w Windows 8.1

Konfigurując dzisiaj zdalny dostęp do pewnego środowiska przy pomocy klienta Checkpoint VPN zainstalowałem kilka wersji, ale połączenie nie chciało działać poprawnie. Wtedy zgodnie ze starą zasadą RTFM sięgnąłem do informacji na stronie pomocy technicznej Checkpointa. Okazało się, że w celu skonfigurowania połączenia VPN do organizacji zabezpieczonej przez urządzenia Checkpointa nie trzeba instalować dodatkowych klientów – Windows 8.1 ma wbudowany plug-in klienta VPN Checkpointa. Jednak, powinno się go skonfigurować z powershella. Odpowiedni skrypt i krótką instrukcję użycia można znaleźć na stronie pomocy technicznej Checkpointa. Po pobraniu skryptu uruchamiamy go, podając nazwę gatewaya i alias, pod którym ma być widoczny na liście połączeń VPN:

config.ps1 -gateway GATEWAY [-name NICKNAME]

W podobny sposób możemy usunąć informacje o połączeniu VPN:

config.ps1 -name NICKNAME –remove

Można podać również dodatkowe parametry, ale nie jest to niezbędne – zestawiając połączenie możemy podać dodatkowe informacje, takie jak sposób uwierzytelnienia.

Co ciekawe, tak skonfigurowane połączenie wygląda identycznie jak inne połączenia VPN, skonfigurowane z użyciem standardowego klienta Microsoft VPN.

04 kwietnia 2014

Exchange 2013 – nowe wytyczne projektowe

Ciekawy artykuł pojawił się w nocy na blogu zespołu produktowego - Ask The Perf Guy: Sizing Guidance Updates For Exchange 2013 SP1. Wprowadzenie w Excange 2013 SP1 nowego protokołu dostępowego MAPI/HTTP, znacząco zwiększyło zapotrzebowanie serwerów CAS na moc opbliczeniową (mniej więcej o 50%) zmieniając współczynnik core’ów CAS:MBX z 1:4 do 5:8. Na szczęście protokół ten jest domyślnie wyłączony no i może być używany wyłącznie przez Outlooki 2013SP1 (przynajmniej jak na razie), co oznacza, że nie musimy na gwałt dokładać mocy do naszych serwerów Exchange 2013Smile. Zmiany te można znaleźć w najnowszej wersji Kalkulatora wymagań dla Exchange 2013. Innym ciekawym aspektem poruszonym w artykule są wymagania na swap file. Exchange 2013 ma nawet dwukrotnie większe zapotrzebowanie na pamięć operacyjną niż poprzednie wersje systemu, jednak gdybyśmy chcieli zachować domyślne ustawienia systemu dla pliku wymiany, to dla dużych instalacji potrzebne by było bardzo dużo miejsca na dysku systemowym czy też dedykowanym. Exchange już w poprzedniej wersji przedstawiał rekomendację użycia swap file o wielkości RAM+10MB. Najnowsze zalecenia dla Exchange 2013 SP1 poszły nawet dalej – wielkość swap file powinna wynosić RAM+10MB, jednak nie więcej niż 32,778 MB (32GB+10MB). Znacząco zmniejszy to zapotrzebowanie na dyski systemowe dla maszyn z 48 I więcej GB RAM.

27 marca 2014

Wymuszenie webowego udziału w konferencjach Lyncowych

Jednym z problemów, z jakim możemy się spotkać organizując lub biorąc udział w konferencjach webowych na platformie Lync Server 2013, jest wymuszanie połączenia przez Lynca, którego mamy zainstalowanego w systemie. Niby drobiazg, ale jeżeli ktoś zainstalował sobie Office 2013 Pro Plus na domyślnych ustawieniach, albo co gorsza zrobił to za niego ktoś z wyższymi uprawnieniami, a nie ma skonfigurowanego konta na serwerze Lyncowym lub nie jest on wdrożony w naszej firmie, to kiedy klikniemy w link z zaproszeniem na spotkanie, zostanie automatycznie otwarty Lync, próbując podłączyć nas do konferencji. Niestety Lync 2013 nie posiada opcji pracy anonimowej, więc bez zalogowania się do serwera Lync, połączenie nie zostanie nawiązane, nie zostawiając nam ścieżki alternatywnej

Sam w ostatnich dniach znalazłem się w podobnej sytuacji – po “zwisie” komputera i twardym restarcie uszkodzony został folder magazynu certyfikatów osobistych. Przez kilka dni próbowałem znaleźć rozwiązanie, ale problem był nieoczywisty, nie pokazujący sensownych błędów w logach i skutkował wyłącznie problemem z uruchomieniem Lynca 2013 (zarówno wersji pełnej jak i Basic). Dopiero serwis Microsoft i PFE, do którego zwróciłem się z prośbą o pomoc, znalazł źródło problemu.

Przy okazji pokazał mi ciekawy trick, o którym nie wiedziałem – jeżeli chcemy podłączyć się do konferencji Lync Server klientem webowym, zamiast zainstalowaną w systemie pełną wersją Lynca, wystarczy dodać do odnośnika, który dostaliśmy w mailu z zaproszeniem na spotkanie frazę ?sl=1 ->

Czyli np. zamiast https://meet.lync.com/pepug365/ziembor/0M9J2OL1 łączymy się z adresem https://meet.lync.com/pepug365/ziembor/0M9J2OL1?sl=1.

Zamiast próbować otworzyć połączenie do konferencji w Lyncu, od razu otworzy się połączenie do strony webowej konferencji, na której możemy się zalogować, używając naszego konta, ale możemy również połączyć się po prostu podając identyfikator, którego system nie będzie weryfikować:

image

Trick działa zarówno w konferencjach organizowanych z użyciem Office365 (rysunek powyżej) jak w wersji on-premises (poniżej). W tym drugim wypadku nadal możemy kliknąc w link pozwalający nawiązaniu połączenia z użyciem desktopowego Lynca.

image

Niby drobiazg a przydatny.

26 marca 2014

Publiczne certyfikaty dla Lync Servera

Dawno nie zaglądałem do artykułu http://support.microsoft.com/kb/929395/en-us, który wymienia urzędy certyfikacyjne, które są zalecane dla usług Unified Communications. Przez bardzo długi czas były na liście dostępne tylko 3 certyfikaty (z chwilowym pobytem urzędu GoDaddy), ale jak widać w aktualizacji dokumentu z września 2013, urzędów jest teraz aż osiem. Warto o tym pamiętać, zwłaszcza pod kątem problemów z konfiguracją wymaganego do publikacji prezentacji powerpointowych certyfikatu dla serwera Office Web App Server (nie działa poprawnie z certyfikatem wiildcardowym), więc optymalne jest użycie na serwerze WAS certyfikatu z urzędu wewnętrznego, schowanie serwera WAS za Reverse Proxy (np. sprzętowym Load Balancerem) i tam opublikowanie certyfikatu zawierającego wszystkie nazwy, zalecane przez Microsoft w dokumentacji - Request and Configure a Certificate for Your Reverse HTTP Proxy.

Zalecane przez Microsoft dla serwerów Lync urzędy certyfikacyjne :

05 marca 2014

Exchange 2013 SP1 – drobna poprawka dla agentów transportowych

Nawet najdłużej testowany pakiet nie jest w stanie w 100% ustrzec się błedów. Tak samo jest z pakietem SP1 do Exchange 2013. W trakcie wykonaywanych ostatnich szlifów do pakietu, omyłkowo źle sformatowano wiersz komentarza w dwóch plikach konfiguracyjnych, co powoduje blokowanie niestandardowych agentów transportowych – zarówno tych przeznaczonych do skanowania maili pod kątem ochrony jak i wykonujących inne zadania. Na szczęście koledzy ze wsparcia technicznego CodeTwo szybko opisali problem na swoim blogu technicznym, a dzisiaj również Microsoft wydał poprawkę, która usuwa problem - Third-party transport agents cannot be loaded correctly in Exchange Server 2013.

Dla firm, które używają dedykowanych produktów antywirusowych, instalowanych na Exchange albo produktów typu CodeTwo Exchange Rules PRo, może być to uciążliwe (przed wykonaniem zmiany należy agenta ondinstalować, a na koniec ponownie zainstalować), ale niestety. Jak mówią niektórzy “Taki mamy klimat”.

Exchange 2013 Service Pack 1

W zeszłym tygodniu opublikowano Service Pack 1 do Exchange 2013 (zgodnie z planem aktualizacji określany również symbolem CU4). Był on długo i drobiazgowo testowany przez użytkowników programu TAP I MVP (cięzko mi policzyć ile razy aktualizowałem kolejne wersje beta w labie). Wyczerpujący artykuł na temat wprowadzonych zmian znalazł się na blogu zespołu produktowego, ja jednak mimo wszystko chciałem pokazać kilka opcji, które wg. mnie są interesujące.

Jedną z najciekawszych wprowadzonych zmian jest na pewno danie administratorom możliwości podglądu, jakie polecenia PowerShell są wykonywane przez serwer, w trakcie zarządzania poprzez interface webowy (Exchange Admin Center). Po kliknięciu w menu pomocy w pozycję “Show command logging” (w polskiej wersji interface “Pokaż rejestrowanie poleceń”), jak widać na poniższym rysunku:

image

Po kliknięciu w tą pozycję, otwiera się osobne okno, w którym pokazywane są kolejne cmdlety, odpowiadające opcjom, które wybieramy w konsoli administracyjnej:

image

Opcja ta przyda się mniej doświadczonym administratorom do zapoznania się z bogatym zestawem komend Exchange, a czasem również tym bardziej doświadczonym, bo czasami działanie kreatorów pozostawia sporo wątpliwości, co tak naprawdę w systemie się dzieje.

Kolejnym ważnym aspektem jest wprowadzenie nowego protokołu komunikacyjnego MAPI-HTTP. Z punktu widzenia otwieranych portów nic to nie zmienia (również wykorzystywany jest port TCP 443), jednak upraszcza to komunikację pomiędzy klientem i serwerem oraz ułatwia ewentualny troubleshooting. Bardzo ciekawie różnice pomiędzy RPC over HTTP oraz MAPI over HTTP opisał na blogu polskich PFE Krzysiek Kubicki.

Wprowadzenie roli Edge w zasadzie nic nowego nie wniosło (poza możliwością wykorzystania tego samego pakietu instalacyjnego dla wszystkich ról serwerowych Exchange), na pewno pozytywną cechą SP1 jest za to wsparcie dla systemu Windows 2012 R2.

Mi jednak najwięcej satysfakcji dało uwzględnienie mojej pracy i sugestii dotyczących uzupełnienia informacji wykorzystywanych przy tworzeniu polis DLP o pięć dodatkowych typów klasyfikacji danych – z czego trzy związane z Polską (wszystkie trzy zgłoszone do Microsoftu, opisane i udokumentowane przeze mnie). Powinno to pozwolić polskim firmom lepiej wykorzystać możliwości, jakie daje ta funkcjonalność Exchange 2013 – więcej informacji o zmianach, dotyczących DLP w Servie Packu 1 znajdziecie w artykule na blogu zespołu produktowego.

image

Instalując Service Pack 1 nie zapominajmy o pakiecie językowym dla funkcji głosowych (niestety, jeżeli był zainstalowany wcześniej, starsza wersja musi zostać odinstalowana przed instalacją SP1, a dopiero na końcu instalujemy nową wersję polskiego pakietu językowego Exchange 2013 SP1 UM Language Pack.

14 lutego 2014

Lync Room System

Już na najbliższym spotkaniu PEPUG zobaczymy nowości sprzętowe w Lyncu.2013 – w szczególności Lync Room System. Co to jest i jak to działa?

Dotychczas najbardziej znanym rozwiązaniem dla Lync Server (a wcześniej również dla OCS-a) do konferencji wideo był RoundTable, czyli kamera dookólna, którą stawiało się na stole w pokoju konferencyjnym tak, żeby wszystkie osoby siedzące przy stole konferencyjnym były widoczne dla rozmówców w innych lokalizacjach, połączonych w ramach wideokonferencji. Oprócz kilku ciekawych reklam, można było znaleźć Round Table nawet w tak znaych produkcjach jak CSI:New York. Początkowo produkowane przez Microsoft szybko zostało włączone do oferty firmy Polycom jako CX5000, od niedawna dostępne również w wersji HD. Jednak to rozwiązanie nie miało dołączonego odpowiedniego wyświetlacza, co zmuszało użytkowników do samodzielnego szukania i dobierania telewizorów.

RoundTable in CSI

Lync Room System to właśnie rozwiązanie sprzętowe, składające się z kamery, panelu wyświetlającego oraz konsoli administracyjnej w formie tabletu z niezbędnymi dodatkami (na poniższym rysunku widać Room System z oferty jednego z dostawców – firmy Smart. Urządzenia konfiguruje się do współpracy z istniejącą infrastrukturą Lync Server 2013, co jest opisane w Deployment Guide, dostępnym na stronie Microsoftu.

Smart Room System

Jak na razie, rozwiązanie to jest dostarczane przez dwóch producentów (poniższa tabela), ale już za chwilę pojawi się w sprzedaży również zestaw firmy Polycom.

Dostawca

Creston

Smart

Dostępne modele

Single 65” display

Single 70” display

 

Dual 65” display

Single 84” display

   

Dual 70” display

Infrormacja producenta

http://www.crestron.com/RL/

http://www.smarttech.com/SMARTroom

Lync Room System zapewnia klienta Lync, dopasowanego do sal konferencyjnych, który jednak musi być skonfigurowany w specyficzny sposób. Ciekawie proces ten opisali dwaj specjaliści – Aaron Steele oraz Brian Ricks w prezentacji na stronie MVA. Co ciekawe, Lync Room System współpracuje zarówno z serwerami Lync on-premises, jak również w ramach usługi Office 365. Jest również dostępny Management Pack do monitorowania działania tego rozwiazania.

25 stycznia 2014

Klienci Office 365 – zapomnijcie o Windows XP i Office 2007

Jakiś czas temu Tony Redmond napisał ciekawy artykuł o problemach z Internet Explorerem 8 po zainstalowaniu CU3 do Exchange. zarówno na tenancie Office 365 jak i Exchange 2013 CU3 on-premises. Przez dłuższy czas miałem nadzieję, że jest to tymczasowy problem, jednakże po zapoznaniu się z informacjami o zasadach wsparcia pakietów Office i Internet Explorer na stronie Wiki Office365 http://community.office365.com/en-us/wikis/manage/office-365-client-system-requirements-policy.aspx okazuje się, że prawda jest jeszcze gorsza, niż można by się spodziewać. Z zapisów na stronie jasno wynika, że wspierane są tylko wersje Office objęte pełnym wsparciem (mainstream support). Kilka akapitów niżej jasno jest wyjaśnione dla osób, które nie zrozumiały tego zapisu, że ponieważ Mainstream support skończył się w 2012 roku, to nie będzie poprawiany kod aplikacji w przypadku znalezienia błędów zgodności z Office 2007 i z biegem czasu współpraca będzie coraz słabsza. Podobnie sytuacja wygląda z przeglądarkami Internet Explorer 8, a nawet Internet Explorer 9.

Niestety oznacza to kłopoty dla firm, które jeszcze używają Windows XP i nie zdążą przed kwietniem się zaktualizować do Windows 7, a które chcą używać najnowszej wersji Exchange lub kupiły subskrypcję Office365. Najtaniej i najszybciej można pozbyć się kłopotów wdrażając Chrome lub Firefoxa na komputerach w domenie. Ostatnio poprawiły się możliwości centralnego zarządzania Chrome poprzez Group Policy - Chrome policies for devices i Chrome policies for users, można także znaleźć szablony adminsitracyjne dla Firefoxa. Jednak nadal możliwości zarządzania są uboższe niż ma to miejsce w przypadku Internet Explorera. Ale znam firmy w Polsce, które nie mogąc opuścić platformy XP zdecydowały się na migrację przeglądarek do Chroma. W końcu nie tylko Exchange 2013 nie działą poprawnie w IE8.

Dura lex, sed lex, jak mawiali Rzymianie. Musimy aktualizować systemy i aplikacje, bo świat nie stoi w miejscu, a Microsoft nie ogląda się na maruderów.

24 stycznia 2014

Kemp Load Master dla Azure – nowa odsłona

Kiedy na konferencji preMTS prezentowałem publikację farmy serwerów Exchange działającej w Azure przez bezpłatny load balancer Kemp LoadMaster for Azure byłem zadowolony. Wszystko działało dobrze. Instrukcja wdrożenia jest prosta i przejrzysta, (są nawet filmiki video dla opornych). Jednakże czas, potrzebny do pobrania obrazu dysku vhd z LoadMasterem, a następnie załadowania go do Azura był bardzo długi.Jednakże, kiedy ostatnio chciałem zaktualizować firmware, dowiedziałem się, że dużo szybciej można przeprowadzić wdrożenie korzystając z biblioteki obrazów VMDepot, gdzie Bhagrav Shukla wrzucił obraz maszyny z aktualną wersją firmware. Ścieżka ta jak na razie nie jest opisana w dokumentacji Kempa, więc parę słów warto jej poświęcić.

Po zalogowaniu się do panelu administracyjnego swojej subskrypcji Azure w lewym pasku wybieramy pozycję “Virtual Machines”, a następnie w prawym oknie przechodzimy do zakładki “Images”. W tym momencie na środku okna, na dolnym pasku widzimy pozycję “Browse VM Depot” (jak na poniższym rysunku).

Azure-VirtualMachinesImages

Po kliknięciu pojawia nam się przeglądarka wszystkich obrazów dysków, które zostały zaimportowane do VM Depotu.

VM Depot - Kemp Load Master

Możemy kliknąć More, żeby przejść do VM Depotu i przeczytać dodatkowe informacje (kolejny rysunek), lub kliknąć strzałeczkę w prawym dolnym rogu, żeby przejść do okna zatwierdzenia wyboru.

Kemp LoadMaster 4 Azure on VMDepot

Teraz tylko musimy wybrać region, gdzie mamy utworzone swoje konto składowania danych i zatwierdzić wybór klikając na “ptaszku” w prawym, dolnym rogu.

VM Depot - wybór miejsca skopiowania obrazu

Kopiowanie obrazu trwa tylko 1 minutę (w odróżnieniu od kilkugodzinnego uploadu do chmury ze swojego komputera).

Image from VM Depot Copied

Teraz tylko wystarczy zarejestrować obraz maszyny. Na dolnym pasku pojawił się przycisk “Register”. Po kliknięciu możemy zmienić nazwę obrazu i url do VHD.

VHD - Registering an image

Ostatnim krokiem jest dodanie maszyny wirtualnej z zaimportowanego do Azure’a obrazu. Ale to robimy już standardowo, jak przy każdym innym obrazie.

09 stycznia 2014

Styczniowe poprawki dla serwerów i klientów Lynca

Wczoraj Microsoft opublikował aktualizacje dla większości produktów z linii Lynca, łącznie z klientami, dodatkowymi narzędziami i oprogramowaniem dla telefonów:

Produkt

Wersja

Artykuł KB z linkiem do pobrania

Lync Server 2013

5.0.8308.577

2809243

Lync Server 2013 Debugging Tools

5.0.8308.577

2905051

Lync Server 2013 Resource Kit Tools

5.0.8308.577

2905053

Lync 2010 (64bit client)

4.0.7577.4419

2912208

Lync 2010 (32bit client)

4.0.7577.4419

2912208

Lync Server 2010

4.0.7577.225

2493736

Lync Phone Edition (for Aastra 6721ip and Aastra 6725ip)

4.0.7577.4420

2918033

Lync Phone Edition (for HP 4110 and HP 4120)

4.0.7577.4420

2918035

Lync Phone Edition (for Polycom CX500, Polycom CX600, and Polycom CX3000)

4.0.7577.4420

2918038

Lync Phone Edition (for Polycom CX700 and LG-Nortel IP Phone 8540)

4.0.7577.4420

2889244

06 stycznia 2014

Sprawdzanie i włączanie komponentów Exchange raz jeszcze

Niedawno pisałem na tym blogu o sprawdzaniu komponentów serwera Exchange. Ponieważ standardowe cmdlety niezbyt wygodnie prezentują stan komponentów, zacząłem używać skryptu, który opublikował na swoim blogu Michael Van Horenbeeck. Jednak oryginalny skrypt tylko sprawdzał stan komponentów, więc postarałem się go trochę rozbudować. Wykorzystałem do tego funkcję get-choice, opracowaną dwa lata wcześniej przez Andy Schneidera. Oczywiście można to zrobić na wiele sposobów, ale uznałem, że wygodnie będzie dać możliwość wyboru, czy na pewno chcemy dany komponent ponownie aktywować. Jeżeli znajdę czas ja albo Michael to skrypt będzie rozbudowany.

Poniżej skrypt:

<#
.SYNOPSIS
Checks component state of local Exchange
2013 server and give choice to activate any inactive component
.DESCRIPTION
Checks component state of local Exchange
2013 server. You have choice to activate any inactive component
.NOTES
Prepared by Konrad Sagala
Sched Task Required : No
Exchange Version :
2013
Disclaimer : You running this script means you won't blame me
if this breaks your stuff.
Code used
in script : First version of this script prepared by Michael Van Horenbeeck, function new-choice by Andy Schneider
.LINK
http:
//michaelvh.wordpress.com/tag/compontent-state/
.LINK
http:
//poshcode.org/2660
.EXAMPLE
.\Query
-componentstates.ps1
.INPUTS
None. You cannot pipe objects to this script. But you can add server name.
#>

function New-Choice {
<
#
.SYNOPSIS
The New
-Choice function is used to provide extended control to a script author who writing code
that will prompt a user
for information.

.PARAMETER Choices
An Array of Choices, ie Yes, No and Maybe

.PARAMETER Caption
Caption to present to
end user

.EXAMPLE
PS C:\
> New-Choice -Choices 'Yes','No' -Caption "PowerShell makes choices easy"

.NOTES
Author: Andy Schneider
Date:
5/6/2011
#>

[CmdletBinding()]
param(

[Parameter(Position
=0, Mandatory=$True, ValueFromPipeline=$True)]
$Choices,

[Parameter(Position
=1)]
$Caption,

[Parameter(Position
=2)]
$Message

)

process {

$resulthash += @{}
for ($i = 0; $i -lt $choices.count; $i++)
{

$ChoiceDescriptions += @(New-Object System.Management.Automation.Host.ChoiceDescription ("&" + $choices[$i]))
$resulthash.$i = $choices[$i]
}
$AllChoices = [System.Management.Automation.Host.ChoiceDescription[]]($ChoiceDescriptions)
$result = $Host.UI.PromptForChoice($Caption,$Message, $AllChoices, 1)
$resulthash.$result -replace "&", ""
}
}

#
#
main part of the script
#
$localserver = $env:computerName
$components = Get-ChildItem HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\ServerComponentStates\ -Recurse | select PSPath

foreach($component in $components){

$componentstates = (Get-ItemProperty $component.PSPath | Select * -ExcludeProperty PS* ) | Get-Member -MemberType NoteProperty

$i=0

do {

$componentstate = ($componentstates[$i].Definition).split("=")
$statebreakdown = $componentstate[1].Split(":")

#$componentActualState = $statebreakdown[1]

switch($statebreakdown[1]){
1 {$componentActualState = "Active"}
0 {$componentActualState = "Inactive"}
}
$componentActualTime = [timezone]::CurrentTimeZone.ToLocalTime([datetime]::FromBinary($statebreakdown[2]))

$obj = New-Object PSObject
$obj | Add-Member -MemberType NoteProperty -Name Component -Value $($component.PSPath.Split("\"))[7]
$obj | Add-Member -MemberType NoteProperty -Name Requester -Value $componentstates[$i].Name
$obj | Add-Member -MemberType NoteProperty -Name State -Value $componentActualState
$obj | Add-Member -MemberType NoteProperty -Name TimeStamp -Value $componentActualTime
$obj

$i++
if ($componentActualState -eq 'Inactive')
{
$answer = New-Choice -Choices 'Yes','No' -Message "Do you want to activate component?"
if ($answer -eq 'Yes')
{
Set
-ServerComponentState -Identity $localserver -Component $obj.Component -Requester $obj.Requester -State Active
}
}
}
while ($i -lt $componentstates.count)
}

01 stycznia 2014

Posumowanie roku 2013

Nowy Rok się zaczął, więc czas na podsumowanie roku minionego. O życiu osobistym nie będę pisał, bo nie taki jest cel tego bloga. Skupmy się na technologiach Microsoft.

Dla mnie na pewno rok przebiegł pod znakiem Exchange 2013 – dopiero od drugiego kwartału możliwe stało się aktualizowanie Exchange do najnowszej wersji produktu – całkiem sporo takich migracji przeprowadziłem, a nowy rok przyniesie ich pewnie jeszcze więcej, zwłaszcza, że niedługo ma być dostępny Service Pack 1 dla Exchange 2013. Różne zagadnienia z obszaru zarządzania, planowania i wdrażania Exchange 2013 były poruszane na spotkaniach PEPUG, oraz na konferencjach, które udało mi się przy pomocy kolegów przeprowadzić – Office 2013 Community Launch i PreMTS 2013.

Koljenym obszarem, powiązanym z Exchange były różne rodzaje Load Balancerów i metody publikacji Exchange w internecie – po wycofaniu ze sprzedaży TMG, stała się to kwestią bardzo ważną – najwięcej czasu poświęciłem rozwiązaniom Kemp Technologies, ale sprawdzałem i testowałem również rozwiązania Barracudy, F5 oraz nowe pomysły Microsoftu – Aplication Request Routing (ARR) i Web Application Proxy (WAP). Mówiąc o WAP, które są komponentem nowej wersji serwera Windows, przechodzimy do kolejnego wydarzenia minionego roku, czyli premiery Windows Server 2012 R2, która może rewolucji nie zrobiła, ale poprawiła wiele obszarów, które w Windows 2012 nie były dopracowane – zwłaszcza w obszarze Hyper-V i zarzadzania file systemem (przynajmniej jak dla mnie). Równolegle wprowadzono nową wersję System Center - gdzie wersja 2012 R2 również w zasadzie wprowadziła przede wszystkim kosmetyczne poprawki i wsparcie dla nowych wersji systemów. Oczywiście razem z Windows Server 2012 R2 pojawiła się nowa wersja systemu klienckiego Windows 8.1, w którym Micorosft wrócił do przycisku Start, poprawiając również kilka innych funkcji systemu. Nowy rok na pewno przyniesie sporo zamieszania na rynku systemów klienckich – w kwietniu kończy się wsparcie dla nieśmiertelnego Windows XP, a klienci ciągle nie chcą się przekonać do kafelkowego interface’u. Czy ruszą masowe migracje do Windows 8.1, czy zachowawczo do Windows 7? A może nastąpi odwrót od platformy Windows? Czas pokaże.

Micorosft miał parę premier również nowości w obszarze sprzętu – Surface 2 i Xbox One (wkrótce po premierze Playstation 4), które również wprowadzały ciekawe nowości, ale rewolucyjne nie były.

Oczywiście również chmura się modernizowała – nowe funkcjonalności i aplikacje w Windows Azure oraz aktualizacja platformy i istniejących tenantów Office 365 do aktualnych wersji produktów. Skutkowało to intensyfikacją migracji, ale i problemami (brak zgodności ze starszymi wersjami produktów Office).

Jestem ciekawy, co przyniesie nowy rok. Nie mogę się doczekać.

21 grudnia 2013

Migracja poczty do Exchange 2013 lub Office 365 – przygotowanie środowiska

Na co powinniśmy zwrócić uwagę, zanim uruchomimy proces migracji? Posiadanie odpowiednich serwerów, czy też odpowiednio wydajnych zasobów dyskowych jest ważne w przypadku wdrożenia Exchange on-premises, w przypadku wdrożenia Office 365 lokalne serwery nie są aż tak ważne (tylko w zakresie integracji posiadanego Active Directory z katalogiem użytkowników w Office 365). W obu przypadkach wąskim gardłem mogą stać się łącza sieci rozległej czy też internetowe, zwłaszcza przy rozszerzaniu funkcjonalności udostępnianej pracownikom. Przecież system Exchange to nie tylko serwer poczty elektronicznej ale scentralizowane zarządzanie kalendarzami, kontakty, wspólna książka adresowa, delegowanie zadań.

Kolejne kroki, które należy wykonać przygotowując Active Directory czy też istniejącą infrastrukturę serwerów do wdrożenia Exchange 2013 stosunkowo dokładnie opisuje dokumentacja produktu – zwłaszcza rozdział dokumentacji produktowej Planning and Deployment oraz narzędzię Exchange Server Deployment Assistant. W ciekawy sposób zagadnienia, na które musimy zwrócić uwagę ujął Krzysiek Kubicki na naszej konferencji preMTS 2013 – niestety nadal nie najlepiej opisane są zalecane konfiguracje sprzętowe dla Exchange 2013 na serwerach firmowych. Co warto policzyć, zanim zaplanujemy infrastrukturę sprzętową oraz rozłożenie fizyczne serwerów oraz jakie narzędzia będą pomocne szczegółowo opisuje Prabhat Nigam na  blogu MSExchangeGuru http://msexchangeguru.com/2013/07/30/exchange-2013-planning-and-design-guide/. W skrócie – przede wszystkim możemy wykorzystać kalkulatory do policzenia ilości serwerów i dysków potrzebnych dla serwerów Exchange – Exchange 2013 Server Role Calculator (warto zauważyć, że zalecane wartości RAM są dwa razy większe niż w przypadku Exchange 2010, może nam przydać się również Exchange Client Network Bandwidth Calculator. Zwłaszcza przy zmianie architektury lub struktury połączeń (centralizacja serwerów Exchange lub migracja do Office365). używając kalkulatorów warto również wiedzieć, ile maili i jakiej wielkości pracownicy generują w skali dnia czy miesiąca – te wielkości są nam potrzebne do wyliczeń.

Przy wdrażaniu Office 365 nie musimy zastanawiać się nad kwestiami skalowalności ani wydajności systemu – za to odpowiedzialny jest zespół Microsoftu nadzorujący centra danych Office 365, jest również dostępny zestaw dokumentów i narzędzi, wspomagających administratora/wdrożeniowca podczas migracji systemu pocztowego do chmury – najlepszym miejscem do rozpoczęcia przygotowań jest Office 365 deployment guide. Ciekawym narzędziem jest również OnRamp (wcześniejsza nazwa Office 365 Readiness Tool). Bardzo często używanym narzędziem, potrzebnym w przygotowaniu lokalnej domeny Active Directory do integracji z chmurą jest również IdFix (DirSync Error Remediation Tool) -  narzędzie do wykrywania i naprawiania problemów z atrybutami obiektów AD, które mogą sprawić problemy przy synchronizacji lokalnej lasu z usługą Office 365. Migrując z alternatywnych platform, takich jak Lotus Notes przydatnym narzędziem będzie również Online Notes Inspector (MONTI), który można pobrać lokalnie z tego miejsca - MONTI oraz dokumentacja.

Jednak wszystkie powyższe źródła niewiele powiedzą nam o przykrych niespodziankach, na które możemy natknąć się po stronie działających komputerów klientów naszej organizacji. Microsoft zakłada, że korzystamy z platform aktualnie wspieranych i umożliwiających obsługę Exchange 2013/Office365. Niestety wiele firm nadal wykorzystuje w swoim środowisku zarówno Outlooka 2003 jak i stacje robocze Windows XP, a nawet Windows Vista. Office 2013, dostarczany w ramach planów korporacyjnych E3 i E4 oraz planów dla większych organizacji SMB mogą być instalowane na komputerach z systemem Windows 7 lub nowszym, co automatycznie eliminuje prawie połowę rynku komputerów klienckich – mimo, że zegar tyka i za nieco ponad trzy miesiące definitywnie zakońćzy się wsparcie dla Windows XP, nadal co najmniej 30% rynku używa tego systemu. Oznacza to, że wykorzystanie wszystkich funkcjonalności Office365, bądź też Exchange 2013 nie w każdej firmie może być możliwe. Nawet Office 2007, wspierany przez Exchange 2013 nie wszystkie funkcjonalności pozwala nam wykorzystać tak samo skutecznie. jak dobrze widać na przykładzie obsługi kalendarza, o czym pisałem kilka miesięcy temu na tym blogu. Alternatywą pozostaje wykorzystanie przeglądarki internetowej – Outlook Web App posiada pełną funkcjonalność kliencką Exchange 2013, jednak znowu Microsoft w wydanym pod koniec listopada Cummulative Update 3 pokazał, że nie do końca zwraca uwagę na ograniczenia wbudowanego w Windows XP Internet Explorera 8, o czym świadczy artykuł KB 2871314.

Przygotowując migrację systemu pocztowego do Exchange 2013, niezależnie od tego, czy mamy zamiar wdrażać system lokalnie (on-premises) czy w chmurze (Office 365), należy przede wszystkim skupić się na analizie środowiska. Ale wbrew pozorom największe wyzwania czekają nas nie po stronie środowiska serwerowego, tylko stacji roboczych. Często okazuje się, że niezależnie od wielkości firmy nie do końca orientujemy się, jakie wersje systemu operacyjnego (w tym Service Packów), a także pakietów Microsoft Office mają zainstalowane stacje robocze. Część firm używa dedykowanego oprogramowania do zarządzania stacjami roboczymi (np. SCCM lub LanDesk), jednak możemy również użyć bezpłatnego oprogramowania, dostarczanego przez Microsoft – Microsoft Assesment and Planning Toolkit (MAP). Oprogramowanie to, od niedawna dostępne w wersji 9.0, zaktualizowane pod kątem najnowszych produktów, szybko zinwentaryzuje stacje robocze, oraz przygotuje raporty z informacjami, opisującymi stan przygotowania środowiska do konkretnych wersji systemu operacyjnego, pakietu Office czy też usługi Office365.

MAP 9.0 Desktop Readiness

Korzystając z takich narzędzi stosunkowo prosto możemy sprawdzić jakie niespodzianki mogą nas spotkać w trakcie migracji. Oczywiście nie rozwiążemy w ten sposób wszystkich problemów, ale przynajmniej będziemy mieli rozeznanie, jaka część naszego środowiska nie jest gotowa współpracy z Exchange 2013 czy też Office 365.

17 grudnia 2013

UAG odchodzi do lamusa

Dopiero kilka dni temu pisałem o nowym Service Packu do UAG-a, a dzisiaj Microsoft ogłosił wycofanie UAG-a z oferty z dniem 1 lipca 2014. Co ciekawe wsparcie dla UAG-a skończy się niecały rok później – 14 kwietnia 2015 (pół roku wcześniej, niż wycofanego rok temu TMG). Wsparcie rozszerzone zostanie wstrzymane 14 kwietnia 2020 roku. Takie kroki można było podejrzewać kiedy w Release Notes do Service Packa 3 ogłoszono, że ulepszony Direct Access w Windows Server 2012 zastępuje tą część funkcjonalności UAG-a, a funkcjonalność Web Application Proxy w Windows Server 2012R2 była gwoździem do trumny. Na pocieszenie firmy z aktywnym 1 grudnia 2013 Software Assurance mogą instalować dodatkowe instancje i dodawać użytkowników UAG bez konieczności zamawiania dodatkowych licencji.

Kiedy w październiku na mojej sesji na preMTS wspominałem o tym, że roadmapa dla UAG-a jest opublikowana tylko do połowy 2014 roku mogłem przeczuwać, że tak to się skończy. I że to tylko kwestia czasu. No nic, trzeba poznawać kolejne rozwiązania sprzętowe, WAP i ARR, zobaczymy co przyniesie nowy rok.

14 grudnia 2013

Publikacja Exchange 2013 na load balancerze Barracudy

Przy okazji jednego z ostatnich projektów musiałem zapoznać się z możliwościami publikacji Exchange 2013, jakie dają load balancery firmy Barracuda. Można do tego użyć appliance’ów sprzętowych, jednak od niedawna są dostępne również maszyny wirtualne na platformę zarówno VMware, Citrix, Oracle jak i Hyper-V. Do testów w labie użyłem najprostszego modelu 340Vx.

image

Na stronie pomocy technicznej Barracudy jest dostępna instrukcja konfiguracji urządzenia do publikacji Exchange 2013. Jest ona stosunkowo prosta i łatwa do realizacji, jednak po krótkiej analizie zauważyłem, że konfiguracja HealthCheck’ów nie jest dostosowana do możliwości Exchange 2013 (indywidualna weryfikacja poszczególnych usług). Jednak po dyskusji z europejskim serwisem Barracudy, okazało się, że w najnowszej wersji firmware 4.2.2.007 (wsparcie dla Exchange 2013 i instrukcja jest dla firmware od wersji 3.6.1.009) można skonfigurować Load Balancer tak, żeby każdy komponent był weryfikowany indywidualnie. Poniżej zamieszczam krótką instrukcję, jak to przeprowadzić.

Początek jest taki sam jak w instrukcji. Przechodzimy na zakładkę Services i po przełączeniu widoku na Advanced View, dodajemy nowy wirtualny serwis.

image

image

Po wpisaniu nazwy wybieramy typ serwisu (Layer 7 – HTTPS), certyfikat z listy zainstalowanych wcześniej na balancerze, a następnie podajemy adres IP, na jakim wirtualny serwis będzie nasłuchiwał. Bardzo ważne jest wybranie odpowiedniego interface. Nawet w konfiguracji z pojedynczym interfacem (taka jest wstępna konfiguracja maszyny wirtualnej) skonfigurowanym w ustawieniach są dostępne dwa – WAN i LAN, co oczywiście nie ma odbicia w lokalizacji urządzenia w naszej sieci.

image

W kolejnym kroku instukcja każe nam dodać adresy IP serwerów Exchange (Real Server) i utworzyć usługę, my jednak bez konfgurowania serwerów klikamy na przycisk Add Service. Po utworzeniu serwisu w pierwszej kolejności dodajemy reguły publikacji dla poszczególnych wirtualnych katalogów Exchange, dopiero do których będziemy dodawać real serwery (tak jak to jest opisane w instrukcji publikacji Exchange dla urządzeń Kempa). Najpierw dodajemy regułę klikając z prawej strony serwisu w słowo Rule.

image

Pojawia nam się w tym momencie okienko kreatora, w którym podajemy naszą nazwę dla reguły oraz wirtualny katalog (zakończony gwiazdką), który reguła ma pozwalać publikować w ramach serwisu. Możemy także zmienić domyślne ustawienia rozkładania ruchu i kierowania połączeń.

image

Teraz dodajemy serwer rzeczywisty, powiązany z regułą, po prostu wpisując jego adres IP.

image

image

Po dodaniu wchodzimy w edycję właściwości serwera, włączamy korzystanie z HTTPS i zmieniamy sposób monitorowania na Simple HTTPS.

image

image

Teraz podająmy odpowiedni URL (w przypadku usługi ActiveSync będzie to /Microsoft-Server-ActiveSync/healthcheck.htm), odpowiedź jaką powinniśmy dostać (STATUS OK), oraz kod odpowiedzi (200). Czy serwer zwraca poprawną odpowiedź możemy sprawdzić, naciskając przycisk Test, pod definicją monitora. Na koniec zapamiętujemy zmiany, co zamyka okno kreatora.

image

To samo robimy dla kolejnych serwerów w farmie, a później dla kolejnych usług – Autodiscovera, ECP, EWS, OAB, OWA i RPC.

Finalnie konfiguracja reguł dla naszego wirtualnego serwera Exchange powinna wyglądać jak na ostatnim rysunku. Możemy również dodać przekierowanie ruchu HTTP.

image

12 grudnia 2013

Nadpisywanie ustawień Managed Availability

Po raz kolejny wraca do mnie kwestia Managed Availability. Chociaż nie jest to problem krytyczny, to jednak niektóre próbniki Managed Availability potrafią nieźle zwariować, dodając do logów stanu zarządzanych elementów mnóstwo błędów. Możemy taki denerwujący nas wskaźnik wyłaczyć. Procedurę jak wprowadzić takie nadpisanie dla konkretnego serwera lub globalnie podaje Microsoft w dokumentacji do Exchange, jest to opisane również na blogu zespołu produktowego, a ciekawy przykład zastosowania możemy znaleźć w artykule 2911802, opisującym problem z próbnikiem folderów publicznych, który to problem pojawił się po zainstalowaniu Cummulative Update 3. Poniżej załączony przykłąd globalnego nadpisania (override’a) dla próbnika, monitora i respondera, czyli trzech podstawowych elementów wykorzystywanych przez Managed Availability:

Add-GlobalMonitoringOverride -Identity "Publicfolders\PublicFolderLocalEWSLogonEscalate" -ItemType "Responder"-PropertyName Enabled -PropertyValue 0 -ApplyVersion "15.0.775.38"

Add-GlobalMonitoringOverride -Identity "Publicfolders\PublicFolderLocalEWSLogonMonitor" -ItemType "Monitor" -PropertyName Enabled -PropertyValue 0 -ApplyVersion "15.0.775.38"

Add-GlobalMonitoringOverride -Identity "Publicfolders\PublicFolderLocalEWSLogonProbe" -ItemType "Probe" -PropertyName Enabled -PropertyValue 0 -ApplyVersion "15.0.775.38"

05 grudnia 2013

Problem z usuwaniem certyfikatu w Exchange 2013

Od czasu do czasu zdarzyć się nam może sytuacja, że chcemy usunąć przeterminowany lub niepoprawny certyfikat (np. po zmianie nazewnictwa usług webowych) z konsoli Exchange. Niestety, może zaskoczyć nas wtedy błąd:

image

A special Rpc error occurs on server SRV-EX1: The internal transport certificate cannot be removed because that would cause the Microsoft Exchange Transport service to stop. To replace the internal transport certificate, create a new certificate. The new certificate will automatically become the internal transport certificate. You can then remove the existing certificate.

Dlaczego tak się dzieje? Otóż certyfikat ten jest przypięty jako domyślny certyfikat do usługi transportowej, co możemy sprawdzić weryfikując domyślne certyfikaty dla usługi transportowej (oczywiście z poziomu Exchange Management Shella):

image

Żeby rozwiązać ten problem wystarczy przypisać (z PowerShella usługę SMTP do innego certyfikatu, dodatkowo potwierdzając opcję, że nowy certyfikat ma zastąpić domyśłny certyfikat SMTP).

image

Teraz Exchange pozwoli nam już usunąć wygasły/nieprawidłowy certyfikat.

Znikające załączniki wysłane z Outlooka 2003

Powiecie: Kto używa jeszcze Outlooka 2003? Niektóre firmy na pewno, a znajdą się również użytkownicy domowi, przyzwyczajeni do tej wersji produktu. Ostatnio kilkukrotnie natknąłem się na dziwny problem. Kiedy ktoś wysyła do nas maila, utworzonego w Outlooku 2003 (domyślne kodowanie HTML), do którego dołączył załączniki w treści wiadomości, a my mamy skrzynkę pocztową na Exchange 2013 lub Office365, to w Outlooku 2007, 2010 i 2013, a także w OWA widzimy tylko treść wiadomości. Kiedy ta sama wiadomość jest wysyłana jako ‘plain text’ z tymi samymi załącznikami, jest wyświetlana poprawnie. Okazało się, że w nagłówku wiadomości jest umieszczona informacja, że treść załącznika jest typu Multipart/related.

image

Niestety, taki załącznik (inline attachment) najczęściej nie jest poprawnie wyświetlany w programach Outlook 2007/2010/2013 (nie jest zgodny z RFC2387) - http://support.microsoft.com/kb/961940.

Standardowo załączniki są dodawane do maili jako multipart/mixed, a nie multipart/related – stąd całe zamieszanie.

No dobrze, ale o ile możemy ujednolicić wersję Outlooka w naszej firmie, a nawet centralnie wymusić stosowanie treści HTML lub plain text poprzez polisy GPO, to nie możemy do tego zmusić kontrahentów z innych firm, czy osoby prywatne, wysyłające do naszej firmy pisma, podania czy dokumenty. Co w takim wypadku powinniśmy zrobić?

Jak podaje artykuł http://support.microsoft.com/kb/954684, w Exchange 2007 po zainstalowaniu Service Packa 2 mogliśmy użyć komendy:

set-OrganizationConfig -ShowInlineAttachments:$true

a w Exchange 2010 Some mogliśmy dodać do pliku EdgeTransport.exe.config, w sekcji ustawień aplikacji wstawić pomiędzy znaczniki <appSettings> oraz </appSettings> dodatkowy klucz:

<add key="TreatInlineDispositionAsAttachment" value="true" />

Niestety, te opcje nie są dostępne w Exchange 2013 ani w Office365.

Żeby poradzić sobie z tym problemem, musimy utworzyć regułę transportową, która będzie nam modyfikować nagłówek przychodzącego maila, zamieniając niepoprawną definicję typu załącznika na rozumianą przez Exchange 2013. W tym celu tworzymy regułę jak na obrazku:

image

Ponieważ łatwo się pomylić przy przepisywaniu, można skorzystać z opcji importowania reguł w Exchange:

[Byte[]]$Data = Get-Content -Path "C:\Scripts\Rules.xml" -Encoding Byte -ReadCount 0
Import-TransportRuleCollection –FileData $Data

Gdzie w pliku rules.xml umieścimy definicję powyższej reguły:


<rule name="Edit Headers to make attachments visible" id="403270a3-82bb-4802-a6e4-5809df639c6e" format="cmdlet">
    <version requiredMinVersion="15.0.3.0">
      <commandBlock><![CDATA[New-TransportRule -Name 'Edit Headers to make attachments visible' -Comments '
' -Mode Enforce -HeaderMatchesMessageHeader 'Content-Type' -HeaderMatchesPatterns 'multipart/related' -SetHeaderName 'Content-Type' -SetHeaderValue 'multipart/mixed']]></commandBlock>
    </version>
</rule>

UWAGA: Import zestawu reguł transportowych kasuje istniejące definicje reguł, przed importem zatem musimy wyeksportować istniejące reguły transportowe, wykonując poniższe polecenia:

$file = Export-TransportRuleCollection
Set-Content -Path "C:\Scripts\Rules.xml" -Value $file.FileData -Encoding Byte

Następnie do pliku Rules.xml dodajemy definicję reguły widniejącą powyżej i po zapisaniu importujemy tak uzupełniony zestaw reguł. Jeżeli nasz Exchange 2013 nie ma jeszcze żadnych reguł można cały plik xml pobrać z tego miejsca.

28 listopada 2013

Forefront UAG 2010 SP4 wydany

Wczoraj pojawił się kolejny, już czwarty Service Pack do UAG-a 2010, który oprócz usunięcia kilku problemów, dodaje wsparcie dla Windows 8.1 i Internet Explorera 11, w tym również możliwość konfiguracji połączeń z wbudowanego w Windows 8.1 klienta pocztowego Mail do Exchange Servera oraz wsparcie dla klienta RDC 8.1. Niestety instalacja jest jak zwykle skomplikowana. Poniżej krótka ścieżka kolejności instalacji UAG-a z SP4 od zera:

Jak na razie Release Notes nie zostały zaktualizowane, jednak na pewno za kilka dni dokumentacja produktu zostanie odświeżona.

Jak na razie, żeby nadążyć za zmianami w kolejnych numerach wersji UAG-a, dobrze jest skorzystać z artykułu na Technet Wiki, gdzie kolejne wersje są aktualizowane, poniżej kopia tej tabeli:

Build Number

KB Article ID

Comment

4.0.1101.0

n/a

Forefront Unified Access Gateway 2010 RTM

4.0.1101.052

2433585 clip_image001

Security Update MS10-089

4.0.1152.100

981323 clip_image001[1]

Update 1

4.0.1152.110

981932 clip_image001[2]

Update 1 Rollup 1

4.0.1152.150

2433584 clip_image001[3]

Update 1+Security Update MS10-089

4.0.1269.200

2288900 clip_image001[4]

Update 2

4.0.1269.250

2418933 clip_image001[5]

Update 2+Security Update MS10-089

4.0.1575.10000

n/a

Service Pack 1 RC

4.0.1752.10000

2285712 clip_image001[6]

Service Pack 1

4.0.1752.10020

2475733 clip_image001[7]

Service Pack 1 Rollup 1

4.0.1752.10025

n/a

Service Pack 1 Rollup 2

4.0.1752.10073

2522485 clip_image001[8]

Security Update MS11-079

4.0.1753.10076

2649261 clip_image001[9]

Service Pack 1+Security Update MS12-026

4.0.1773.10100

2585140 clip_image001[10]

Service Pack 1 Update 1

4.0.1773.10110

2647899 clip_image001[11]

Service Pack 1 Update 1 Rollup 1

4.0.1773.10190

2649262 clip_image001[12]

Service Pack 1 Update 1+Security Update MS12-026

4.0.1773.10220

n/a

Service Pack 1 Update 1 Rollup 2

4.0.2095.10000

2710791 clip_image001[13]

Service Pack 2

4.0.3123.10000

2744025 clip_image001[14]

Service Pack 3

4.0.3206.10100

2827350 clip_image001[15]

Service Pack 3 Rollup 1

4.0.4083.10000

2861386 clip_image001[16]

Service Pack 4