Exchange 2010 SP2 RU3

By Andrei Ungureanu - Last updated: Thursday, May 31, 2012

Rollup dupa rollup …

http://www.microsoft.com/en-us/download/details.aspx?id=29899

http://blogs.technet.com/b/exchange/archive/2012/05/29/released-update-rollup-3-for-exchange-2010-service-pack-2.aspx

Filed in Exchange • Tags:

Automating Exchange Best Practices Analyzer (ExBPA)

By Andrei Ungureanu - Last updated: Monday, May 28, 2012

ExBPA poate avertiza asupra unor probleme pe care nu toata lumea le sesizeaza. De asta e si bine ca din cand in cand sa mai rulam un ExBPA si sa analizam output-ul. Asta nu inseamna ca trebuie sa ne incredem orbeste in output-ul de acolo si sa incercam sa “reparam” fiecare eroare sesizata. Informatiile de acolo trebuie analizate iar in unele cazuri erorile trebuiesc dovedite pentru ca si ExBPA-ul mai spune cateodata si prostii. Dar sa revenim; e totusi util pentru ca scaneaza environmentul mult mai rapid ca o fiinta umana si poate detecta anumite probleme.

Insa convenabil ar fi sa putem primi raportul generat via email in fiecare luni dimineata, nu? Se poate, cu ExBPACMD.EXE (e parte din Exchange 2010) iar sintaxa o aveti mai jos:

C:\Users\andrei>exbpacmd /?
Usage: C:\Program Files\Microsoft\Exchange Server\V14\bin\ExBPACmd.exe [<options
>]

Options:
  -cfg <file>  Read the settings and rules from configuration <file>.
               The default is ExBPA.Config.xml in \program files\exbpa\<lang>.
  -dat <file>  Write the output data to <file>.  The default is
               output.<label>.<timestamp>.xml in the exbpa output directory.
  -in <file>   Load the data in <file> prior to the new run.  This can be
               used to collect data from additional scopes in the same file,
               or to reanalyze previous data.  If <file> is "$",
               it will use the output.<label>.<ts>.xml with the most recent
               timestamp.
  -d <server>  Access the directory using the global catalog server <server>.
               If not given, it will bind to the nearest one.
  -l <label>   Specify a <label> in the output.
  -u <context> [<domain>\]<user> (<password>|*) …
               Provides separate credentials per context.
  -r <option>[=<value>][,…]
               Restrict the collection/analysis to include the specified
               restriction.  The default is "Health Check".
  -th <#>      Run a maximum of <#> threads at once (default 500).
  -to <#>      Timeout on data access after <#> seconds (default 300).
  -c           Collect data specified in the config file.  If no other
               operation steps are specified, this is enabled by default
  -a           Analyze the data using the rules from config XML file.
  -e           Strip off the values of any settings marked NotForExport.
  -s           Use the parameters stored in the registry by the GUI for
               scheduled runs.
  -?           Display this information.

Example: ExBPACmd.exe -dat output.xml -u ADLOGON food\administrator P@ssw0rd EXL
OGON food\administrator P@ssw0rd -r "General,Level 3,Server=FOO-01|FOO-02" -c -a

Valid restrictions options:
   Scope: Server,AdminGroup,Organization,Domain,ADC Server,_
   Role: Mailbox,Gateway,Bridgehead,ClientAccess,UnifiedMessaging,Global,AdminTo
ols,LanguagePacks,UmLanguagePack
   Task: Health,Perf,Permissions,UserPermissions,ConnectivityTask,BaselineTask,P
recheckInstall,PrecheckUninstall,PrecheckUpgrade,PrecheckDR,Postcheck
   Level: 1,2,3,4,5
   Category: General,Performance,Security,EndUserPermissions,Connectivity,Baseli
ne,CustomBaseline,Prereqs
Valid security contexts: ADLOGON,EXLOGON

This tool gathers configuration information from a system and analyzes it agains
t best practices.  It then reports on best practice mismatches.

 

Problema e ca output-ul e generat in XML si e aproape imposibil de descifrat intr-un email. Dar pentru asta am gasit un parser facut in Powershell special pentru ExBPA. Il gasiti in link-ul de mai jos:

http://gallery.technet.microsoft.com/scriptcenter/680b3a66-2b7b-4baa-b178-0c1c1323be8d

Parser-ul poate filtra chiar si dupa tipul informatiilor din raport (gen Error, Warning). Tot ce mai trebuie sa faceti este sa folositi informatiile prezentate aici pentru a face un script care genereaza raportul, parseaza output-ul asa cum doriti si sa trimita un email cu informatiile obtinute.

Filed in Exchange • Tags:

Debugging shutdown issues on Windows 2003 with Winlogon tracing

By Andrei Ungureanu - Last updated: Monday, May 21, 2012

Una din marile probleme cu Windows 2003 atunci cand faci administrare remote e ca nu stii niciodata daca atunci cand dai reboot sistemul tau reuseste sa se restarteze sau nu.

Windows 2008 e ceva mai avansat, dar nu pentru ca nu ar exista astfel de probleme ci pentru ca exista ceva procedee si tool-uri pentru a afla cauza problemei.

In schimb pe Windows 2003, tot ce stiam pana de curand era faza cu generearea unui crash dump in momentul in care sistemul “intepenea” in fereastra de shutdown.

Dar am aflat ca se mai poate face ceva ce poate ajuta in debugging. Si anume tracing pe Winlogon. Faza e ca nu merge activat in versiunea normala de Windows (free/retail build) ci numai in “checked/debug build”. Dar merge inlocuit si doar Winlogon.exe cu versiunea checked pe durata troubleshooting-ului. In caz ca nu aveti access la MSDN sa downloadati checked build, puteti downloada Service Pack 2 pentru Windows 2003 versiunea checked. Mai jos aveti link-ul pentru versiunea x86:

http://www.microsoft.com/en-us/download/confirmation.aspx?id=3685

Pasul urmator este sa setati urmatoarele variabile in registry:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DebugFlags (REG_SZ)

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\LogFile (REG_SZ)

Pentru a capta toate evenimentele va recomand sa setati DebugFlags cu urmatoarea valoare: Error, Warning, Trace, Init, Timeout, Sas, State, MPR, CoolSwitch, Profile, DebugLsa, DebugSpm, DebugMpr, DebugGo, Migrate, DebugServices, Setup, SC, Notify, Job

image

Si iata si cum arata log-ul:

14:52:06.936: 360.1956> Winlogon-Trace: Doing remote-initiated (W2K3\Administrator) Reboot=true, Force=true

14:52:06.951: 360.1956> Winlogon-Trace: Starting user thread for Logoff, flags = 3807

14:52:06.951: 360.2616> Winlogon-Trace: Doing immediate shutdown, LastGinaRet = b, Flags = 3804

14:52:06.951: 360.2616> Winlogon-Trace: Calling ExitWindowsEx(0x3804, 0)

14:52:07.842: 360.364> Winlogon-Trace-SAS: LOGONNOTIFY message 0

14:52:07.842: 360.364> Winlogon-Trace-SAS:     WINLOGON     : True

14:52:07.842: 360.364> Winlogon-Trace-SAS:     SYSTEM       : False

14:52:07.842: 360.364> Winlogon-Trace-SAS:     SHUTDOWN     : False

14:52:07.842: 360.364> Winlogon-Trace-SAS:     REBOOT       : False

14:52:07.842: 360.364> Winlogon-Trace-SAS:     POWEROFF     : False

14:52:07.842: 360.364> Winlogon-Trace-SAS:     FORCE        : True

14:52:07.842: 360.364> Winlogon-Trace-SAS:     OLD_SYSTEM   : False

14:52:07.842: 360.364> Winlogon-Trace-SAS:     OLD_SHUTDOWN : True

14:52:07.842: 360.364> Winlogon-Trace-SAS:     OLD_REBOOT   : True

14:52:07.842: 360.364> Winlogon-Trace-SAS:     OLD_POWEROFF : False

14:52:07.842: 360.364> Winlogon-Trace: Received SAS from winsrv, code 4 (User Logoff)

14:52:07.842: 360.364> Winlogon-Trace: In state LoggedOnUser, sending kill message to window

14:52:07.842: 360.364> Winlogon-Trace: Sending SAS code 4 (User Logoff) to window 50020 (Winlogon generic control dialog)

14:52:07.842: 360.364> Winlogon-Trace: ChangeStateForSAS: Went from 6 (LoggedOnUser) to 7 (LoggedOn_SAS)

14:52:07.842: 360.364> Winlogon-Trace: Source desktop was Default

14:52:07.842: 360.364> Winlogon-Trace: Switching desktop from Application to Winlogon

14:52:07.842: 360.364> Winlogon-Trace-State: SASRouter:  In state LoggedOn_SAS

14:52:07.842: 360.364> Winlogon-Trace-Timeout: Disabling timeouts

14:52:07.842: 360.364> Winlogon-Trace: In Logoff()

14:52:07.842: 360.364> Winlogon-Trace: Switching desktop from Winlogon to Application

14:52:07.842: 360.364> Winlogon-Trace: Closing handle 3a8 to users desktop

14:52:07.857: 360.1468> Winlogon-Trace: StopUserGPOProcessing: Waiting for user group policy thread to terminate.

14:52:07.857: 360.1468> Winlogon-Trace: StopUserGPOProcessing: User group policy thread has terminated.

14:52:07.951: 360.364> Winlogon-Trace: Source desktop was Default

14:52:07.951: 360.364> Winlogon-Trace: Switching desktop from Application to Winlogon

14:52:07.967: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 2

14:52:07.967: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 1

14:52:07.967: 360.364> Winlogon-Error: [WUInstall] Failed to query WU value (2).

14:52:07.967: 360.364> Winlogon-Error: [WUInstall] Failed to clean WU value (2).

14:52:07.967: 360.364> Winlogon-Trace: Actually closing user mapping

14:52:07.967: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 0

14:52:07.967: 360.3220> Winlogon-Trace: ExitWindowsEx called to shut down COM processes

14:52:07.998: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 0

14:52:07.998: 360.364> Winlogon-Trace: Actually opening user mapping.  User is logged on

14:52:07.998: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 1

14:52:08.014: 360.364> Winlogon-Trace: Actually closing user mapping

14:52:08.014: 360.364> Winlogon-Trace: ProfileUserMapping Refs = 0

14:52:08.014: 360.364> Winlogon-Trace: In InternalWinStationNotifyLogoff

14:52:08.014: 360.2540> Winlogon-Error: [WUInstall] Skipping WU installs – Fail to open WU key (2).

14:52:08.154: 360.2540> Winlogon-Trace: [WUInstall] Skipping installs – not a shutdown.

14:52:08.154: 360.2540> Winlogon-Trace: [WUInstall] Skipping installs – not requested.

14:52:08.154: 360.2540> Winlogon-Trace: [WUInstall] Calling WUAutoUpdateAtShutdown(0)…

14:52:08.186: 360.2624> Winlogon-Trace: StopMachineGPOProcessing: Waiting for machine group policy thread to terminate.

14:52:08.201: 360.2624> Winlogon-Trace: StopMachineGPOProcessing: Machine group policy thread has terminated.

14:52:08.295: 2516.2280> Winlogon-Trace-SAS: LOGONNOTIFY message 9

Acum nu pot promite ca aceasta metoda o sa va rezolve problemele, insa este unul din putinele moduri in care poti face troubleshooting la asa ceva pe Windows 2003.

PS: mai sunt cateva variante cu windows debugger insa mi se par prea complicate pentru un sysadmin.

Filed in Windows Server • Tags: ,

EMET v3

By Andrei Ungureanu - Last updated: Thursday, May 17, 2012

Despre EMET (Enhanced Mitigation Experience Toolkit) am mai scris aici.

Saptamana aceasta a aparut versiunea 3 care este enterprise friendly. Adica vine optiuni de control via GPO, deployment via SCCM, cateva profile predefinite, suport pentru wildcard in reguli si integrare cu Windows Event Log.

image

Mai multe puteti citi pe blogul Security Reseach & Defense:

http://blogs.technet.com/b/srd/archive/2012/05/15/introducing-emet-v3.aspx

PS: Cred ca adevarata valoare a lui EMET o sa iasa la iveala atunci cand Windows 2003 o sa iasa din suport. Iar EMET e acum un tool suportat oficial.

Filed in Security • Tags:

Alt plagiator?

By Andrei Ungureanu - Last updated: Friday, May 11, 2012

Pe zona de Windows deja ne obisnuisem cu Tudy aka Tudor Damian marele MVP pe virtualizare. Dar acum vad ca se poarta modelul si in alte sfere. De fapt, daca profesorii sunt asa, de ce ne mai miram ca astfel de personaje ies de pe bancile facultatii.

Cazul Ioan Mang nu mi s-a parut interesant deoarece la prima impresie parea o razbunare politica. Dar la un moment dat am zis ca ar trebui sa verific si eu personal acele acuzatii si documente publicate. Well … se pare ca presa avea dreptate. Parca totusi imi pare rau, ca asa pe hartie noul ministru dadea bine.

Dar n-a fost sa fie, n-avem noi parte de un ministru specialist in criptografie.

Si ca sa nu mai aveti nici un dubiu cititi direct de pe pagina lui Eli Biham: http://www.cs.technion.ac.il/~biham/

S-a si gasit domnul Ioan Mang pe cine sa copieze.

http://en.wikipedia.org/wiki/Eli_Biham

http://en.wikipedia.org/wiki/Adi_Shamir

PS: Tudy, MVP ai ajuns, dar ministru nu cred ca o sa reusesti.

Filed in Diverse • Tags:

Instalarea unui server FTP pe Windows Server 2008 R2

By Vitalie Ciobanu - Last updated: Thursday, May 10, 2012
  1. Sa presupunem ca avem un server standalone cu Windows Server 2008 R2, instalat si actualizat la zi, in workgroup.
  2. Cream un director in care vom tine datele de pe FTP.
  3. Cream 2 grupuri locale FTP-Read si FTP-Write.
  4. Cream utilizatori si ii adaugam la grupurile specifice. Eu am creat 2 utilizatori (FTP-User-R si FTP-User-W) si i-am adaugat la grupurile respective.
  5. Instalam rolul Web Server (IIS) doar cu serviciile: FTP Server si Windows Authentication in afara celor implicite.
    imageimageimage
  6. Deschidem consola de IIS, facem click dreapta pe Sites si selectam Add FTP Site.
    image
  7. Introducem numele siteului si locatia fizica a directorului creat la pasul 2.
    image
  8. Selectam Allow SSL sau  No SSL, dupa dorinta fiecaruia.
    image
  9. La Authentication selectam Basic si la Authorization selectam Specified roles or user groups si introducem numele grupului cu drepturi de read si write (FTP-Write). Bifam ambele casute la Permissions.
    image
  10. Ar trebui sa avem doua site-uri acum.
    image
  11. Sa mai configuram cate ceva la site-ul FTP. Selectam site-ul si in partea din mijloc deschidem FTP Authorization Rules. Adaugam o noua regula folosind Add Allow Rule din partea dreapta (Actions).
    image
  12. Selectam Specified roles or user groups si introducem numele grupului cu drepturi de Read pentru cazurile in care vrem sa dam cuiva acces read pe serverul FTP (FTP-Read). La Permissions selectam doar Read.
    imageimage
  13. Acum, deschidem Windows Explorer si navigam catre ftp://localhost sau ftp://ip-ul_serverului. In prompt-ul pentru user si parola introducem datele utilizatorului cu drept de scriere (FTP-User-W).
    image
  14. Cream un director nou ca sa vedem ca avem permisiuni de scriere.
    image
  15. Ca sa testam si permisiunile pentru utilizatorul FTP-User-R, selectam FileLogin As si introducem datele utilizatorului FTP-User-R.
    image image
  16. Daca incercam sa cream un director nou, vom primi eroarea de mai jos:
    image
  17. Acum nu ne ramane decat sa “scoatem” FTP-ul in internet daca serverul se afla “undeva” dupa un router si are o adresa IP privata, cum e cazul meu. Cautati pe router ceva care sa semene cu Port Mapping. Eu pe routerul meu am facut setarile de mai jos:
    image
  18. La remote host nu am scris nimic, ca sa ma pot conecta de oriunde. Portul de FTP l-am lasat default, 21. Internal host este adresa serverului (192.168.206.140 in cazul meu).
  19. Ca sa ma conectez de oriunde trebuie sa mai stiu IPul meu “extern”, il puteti afla accesand http://www.whatismyip.com.
  20. Acum, puteti sa va conectati de oriunde la ftp://ip-extern si veti avea acces la FTPul vostru.
Filed in Windows Server • Tags:

Microsoft Security Essentials 4.0

By Andrei Ungureanu - Last updated: Friday, May 4, 2012

Se pare ca Microsoft Security Essentials 4 a fost lansat de luna trecuta insa eu l-am ratat. Mai jos gasiti link-ul pentru download.

http://www.microsoft.com/en-us/download/details.aspx?id=5201

Filed in Security • Tags:

Altaro Hyper-V Backup

By Andrei Ungureanu - Last updated: Monday, April 30, 2012

Se pare ca in momentul de fata Altaro a dat lovitura pe zona de backup Hyper-V in sectorul SMB. L-am testat si sincer mi se pare un produs cu un raport pret/performanta foarte bun si pe care l-as recomanda mai departe.

Altaro vine in 3 editii, una free cu ceva limitari (doar doua masini virtuale), standard (pana la 5 VMs) si unlimited. Se licentiaza per host, nu per VM sau CPU ceea ce este un mare avantaj.

image

De mentionat ca daca aveti masini virtuale stocate pe shared storage si folositi Live Migration (deci folositi Cluster Shared Volumes) atunci aveti nevoie de versiunea unlimited.

Interfata este extraordinar de prietenoasa si simplu de folosit:

image

image

Altaro suporta backup-uri incrementale, schedule-uri, file level restore si fire drill-uri.

image

image

Restore-ul se poate face si intr-o clona a masinii virtuale – un mod util pentru a boota copia din backup.  Pentru testat backup si recuperat fisiere exista alte moduri descrise mai jos.

image

File level restore va restaura VHD-urile masinii virtuale si le va monta ca volume visibile in Explorer. De acolo se pot recupera fisierele individuale de pe masini virtuala. Ma asteptam sa fie in stare sa le copieze el direct un masina live, dar pana la urma e ok si asa.

image

image

Iar pentru testarea backup-urilor exista Fire Drill.  Iar Fire Drill pot fi schedulate fara a mai fi nevoie de interventia administratorului care va primi doar notificarile pe email.

image

image

image

Si la final dar nu ultima dintre optiuni, backup-urile pot fi mirror-ate pe un alt drive.

image

Se pare ca incet incet apar produse ce mai ridica cate putin valoarea HyperV-ului. Iar Altaro este unul din ele.

Filed in Virtualization, Windows Server • Tags: , ,

Connection to WSUS from Powershell issue.

By Andrei Ungureanu - Last updated: Friday, April 27, 2012

Incercand sa ma conectez la un WSUS din Powershell folosind codul de mai jos:

$wsusserver = ‘localhost’
#Load required assemblies
[void][reflection.assembly]::LoadWithPartialName(“Microsoft.UpdateServices.Administration”)
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($wsusserver,$False)

 

Am dat de urmatoarea eroare:

Exception calling “GetUpdateServer” with “2” argument(s): “The request failed with HTTP status 404: Not Found.”
At C:\Documents and Settings\Administrator.VMUG\Desktop\wsus.ps1:4 char:78
+ $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer <<<< ($wsusserver,$False)
+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Problema era ca WSUS-ul meu e pe portul 8530 si asta trebuie specificat in script:

 

$wsusserver = ‘localhost’
[Int32]$portNumber = 8530
#Load required assemblies
[void][reflection.assembly]::LoadWithPartialName(“Microsoft.UpdateServices.Administration”)
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($wsusserver,$False,$portNumber)

 

 

Filed in Windows Server • Tags: ,

1.4Gbps Link

By Andrei Ungureanu - Last updated: Thursday, April 26, 2012

Da, asta e viteza link-ului raportat de Windows 2000 in Hyper-V.

image

Ma intreb de ce 1.4 si nu 1.5. Smile

Probabil ca exista o explicatie, insa fiind Windows 2000 nu o sa ma obosesc cautand.

Filed in IT Fun • Tags: